{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 用户消费行为的分析报告"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "from pandas import Series,DataFrame\n",
    "import warnings\n",
    "warnings.filterwarnings('ignore')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "columns = ['user_id', 'order_dt', 'order_products', 'order_amount']\n",
    "df = pd.read_table(\"./第七周/CDNOW_master.txt\", names=columns, sep=\"\\s+\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- user_id：用户id\n",
    "- order_dt：购买日期\n",
    "- order_products：购买产品数\n",
    "- order_amount：购买金额"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>user_id</th>\n",
       "      <th>order_dt</th>\n",
       "      <th>order_products</th>\n",
       "      <th>order_amount</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>19970101</td>\n",
       "      <td>1</td>\n",
       "      <td>11.77</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>19970112</td>\n",
       "      <td>1</td>\n",
       "      <td>12.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>19970112</td>\n",
       "      <td>5</td>\n",
       "      <td>77.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3</td>\n",
       "      <td>19970102</td>\n",
       "      <td>2</td>\n",
       "      <td>20.76</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>3</td>\n",
       "      <td>19970330</td>\n",
       "      <td>2</td>\n",
       "      <td>20.76</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   user_id  order_dt  order_products  order_amount\n",
       "0        1  19970101               1         11.77\n",
       "1        2  19970112               1         12.00\n",
       "2        2  19970112               5         77.00\n",
       "3        3  19970102               2         20.76\n",
       "4        3  19970330               2         20.76"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>user_id</th>\n",
       "      <th>order_dt</th>\n",
       "      <th>order_products</th>\n",
       "      <th>order_amount</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>69659.000000</td>\n",
       "      <td>6.965900e+04</td>\n",
       "      <td>69659.000000</td>\n",
       "      <td>69659.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>11470.854592</td>\n",
       "      <td>1.997228e+07</td>\n",
       "      <td>2.410040</td>\n",
       "      <td>35.893648</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>6819.904848</td>\n",
       "      <td>3.837735e+03</td>\n",
       "      <td>2.333924</td>\n",
       "      <td>36.281942</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.997010e+07</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>5506.000000</td>\n",
       "      <td>1.997022e+07</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>14.490000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>11410.000000</td>\n",
       "      <td>1.997042e+07</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>25.980000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>17273.000000</td>\n",
       "      <td>1.997111e+07</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>43.700000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>23570.000000</td>\n",
       "      <td>1.998063e+07</td>\n",
       "      <td>99.000000</td>\n",
       "      <td>1286.010000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            user_id      order_dt  order_products  order_amount\n",
       "count  69659.000000  6.965900e+04    69659.000000  69659.000000\n",
       "mean   11470.854592  1.997228e+07        2.410040     35.893648\n",
       "std     6819.904848  3.837735e+03        2.333924     36.281942\n",
       "min        1.000000  1.997010e+07        1.000000      0.000000\n",
       "25%     5506.000000  1.997022e+07        1.000000     14.490000\n",
       "50%    11410.000000  1.997042e+07        2.000000     25.980000\n",
       "75%    17273.000000  1.997111e+07        3.000000     43.700000\n",
       "max    23570.000000  1.998063e+07       99.000000   1286.010000"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.describe()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- 大部分的订单购买的产品数都比较少，平均值为2.4，存在这一定的极值干扰\n",
    "- 用户的消费金额比较稳定，平均订单消费金额为35元"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 69659 entries, 0 to 69658\n",
      "Data columns (total 4 columns):\n",
      " #   Column          Non-Null Count  Dtype  \n",
      "---  ------          --------------  -----  \n",
      " 0   user_id         69659 non-null  int64  \n",
      " 1   order_dt        69659 non-null  int64  \n",
      " 2   order_products  69659 non-null  int64  \n",
      " 3   order_amount    69659 non-null  float64\n",
      "dtypes: float64(1), int64(3)\n",
      "memory usage: 2.1 MB\n"
     ]
    }
   ],
   "source": [
    "df.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "df['order_dt'] = pd.to_datetime(df['order_dt'],format='%Y%m%d')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- 对日期进行格式处理"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 1.进行用户消费趋势的分析按月（）\n",
    "- 每月消费总额\n",
    "- 每月消费订单数\n",
    "- 每月产品的购买数量\n",
    "- 每月的消费人数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "grouped_month = df.resample('M',on='order_dt')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "grouped_month_amount = grouped_month.order_amount.sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "order_dt\n",
       "1997-01-31    299060.17\n",
       "1997-02-28    379590.03\n",
       "1997-03-31    393155.27\n",
       "1997-04-30    142824.49\n",
       "1997-05-31    107933.30\n",
       "Freq: M, Name: order_amount, dtype: float64"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "grouped_month_amount.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "plt.style.use('ggplot')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x155c28b31d0>]"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfoAAAFlCAYAAAADJSrfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAABHlUlEQVR4nO3deXhU5cH+8e9zErYsZDITEEFQwmLL1iBRAZU1pVaspWqxrhVUVCwWfKniUq1tQSwqyOZKQeteX0FtbfUXKfAqRYKQIGCFgEgRMJIJISEgJOf5/TEkBlmykORkZu7PdXkJkzPz3Ccid845z3mOsdZaREREJCI5XgcQERGR+qOiFxERiWAqehERkQimohcREYlgKnoREZEIpqIXERGJYCp6ERGRCBbrdYD6sGPHDq8jVEtKSgq7d+/2OkatKb/3wn0flN874ZwdlL+ytm3bnvDrOqIXERGJYCp6ERGRCKaiFxERiWDVvkbvui6TJk3C7/czadIk8vLymDFjBkVFRaSmpjJu3DhiY2M5dOgQs2fPZsuWLSQmJjJ+/Hhat24NwMKFC1m8eDGO4zBq1CjS0tIAyM7OZv78+biuy9ChQxkxYgTAcccQERGR6qn2Ef0777xDu3btKn7/wgsvMHz4cGbNmkV8fDyLFy8GYPHixcTHxzNr1iyGDx/Oiy++CMD27dtZvnw5jz32GPfeey/z5s3DdV1c12XevHncc889TJ8+nQ8//JDt27efcAwRERGpnmoVfX5+PqtXr2bo0KEAWGtZv349ffv2BWDQoEFkZWUBsGrVKgYNGgRA3759WbduHdZasrKy6N+/P02aNKF169a0adOG3NxccnNzadOmDaeccgqxsbH079+frKysE44hIiIi1VOt8+ALFizgmmuuYf/+/QAUFRURFxdHTEwMAH6/n2AwCEAwGCQQCAAQExNDXFwcRUVFBINBunTpUvGZld9Tvn35rzdt2nTCMb4rMzOTzMxMAKZOnUpKSkr1vwMeio2NDZusx6L83gv3fVB+74RzdlD+Go1V1QYff/wxSUlJpKamsn79+obIVGMZGRlkZGRU/D5c7q3UfaDeCvf8EP77oPzeCefsoPyVVXUffZVF/9lnn7Fq1SrWrFnDwYMH2b9/PwsWLKCkpISysjJiYmIIBoP4/X4gdOSdn59PIBCgrKyMkpISEhMTK14vV/k9lV/Pz8/H7/eTmJh43DFERESkeqq8Rn/VVVfx5JNPMmfOHMaPH0+PHj24/fbb6d69OytWrABgyZIlpKenA9CnTx+WLFkCwIoVK+jevTvGGNLT01m+fDmHDh0iLy+PnTt30rlzZzp16sTOnTvJy8ujtLSU5cuXk56ejjHmuGOIiIhI9dT6XrWrr76aGTNm8Morr9CxY0eGDBkCwJAhQ5g9ezbjxo0jISGB8ePHA9C+fXv69evHHXfcgeM43HDDDThO6OeM0aNHM3nyZFzXZfDgwbRv3/6EY4iIiEj1GGut9TpEXYv2te6ttbDzv9CqDaZJ0zr//HK6Rua9cN8H5fdOOGcH5a/spK/RS3ix/1mL+9ZLsGkD5uejMMN+5nUkERHxkIo+QtjP1oUKfuM68PmhaVP4KjzObIiISP1R0Yc5u3F9qOA/+wSSkjG/uAkz4Ee4UyZi9xx73QEREYkeKvowZXM34L71MnyaAy19mCtuwAy4ENO0WWgDXwD25J/4Q0REJOKp6MOM3fyf0BH8hmxITMKMPFzwzZodsZ1JDmC3bfYmpIiINBoq+jBhN/8H9+2XYf2aUMH/fBRm4EVHFXyFJD8UFWJLSzF64p+ISNRSAzRy9vONoSP4dashoSXm8usxgy7CNGt+4jcm+8FaKCyAQKsGySoiIo2Pir6Rsls3ha7Bf7IKEhIxl/4SM/giTPMW1Xq/8QWwELpOr6IXEYlaKvpGxn6RGyr4tVkQn4j52bWYIcMxzeNq9kG+w88F0Mx7EZGopqJvJOy2zaGCz1kJcQmYEddghlyMaVHDgi/nCz361+7Jx9RhThERCS8qeo/ZbVtw334FsldAXDzmp1djhv6k9gVfLqElxMTqiF5EJMqp6D1it3/Onmcfxf1oKbSIx1xyVajg4+Lr5PON40BSsu6lFxGJcip6D9jVy3GfmMrBuHjMT36BybgEE5dQ9wMlB7AFKnoRkWimoveA+0EmBFqTMuN5ggcO1t9APj98+UX9fb6IiDR6jtcBoo395gB8moNJOxcnoWW9jmV8ASjQNXoRkWimom9on2ZD6SHMD86p/7F8fvhmP3Z/Sf2PJSIijZKKvoHZnCxoEQddutX/YIdvsdPMexGR6KWib0DWdbFrszA9+mBim9T7eKZi0RxNyBMRiVYq+oa0dRPs3QO9zm6Y8coXzdHMexGRqKWib0A2JwscB9OzT8MMWH5EX6hT9yIi0UpF34BszkfQuRsmPrFBxjPNW4TmA+iIXkQkaqnoG4jNz4Mvv8D8oIFO25fzBbC6Ri8iErVU9A3E5qwEwPRqgNvqKvP5NeteRCSKqegbiM1ZCae0w7Rp16DjGhW9iEhUU9E3ALu/BD5b1zCL5HyXLwCFQaxb1vBji4iI51T0DWHDGigrbfjr8wDJAXBdKNrb8GOLiIjnVPQNwGavhLgE6PT9Bh/bJGnRHBGRaKair2fWLcOuW4XplY6JiWn4AMmHl8HVLXYiIlFJRV/fNn8GxUXQ0LPty5WvjqcJeSIiUUlFX89szkcQE4Pp3tubAC19YByduhcRiVIq+npmc7Kgaw9MXLwn45uYmFDZ64heRCQqqejrkf1qB+za7s1tdZX5/FodT0QkSqno69G3q+F5cFtdZVo0R0Qkaqno65FdmwXtTse0auNpDpMcUNGLiEQpFX09sfuKYdN674/mAZL8sK8Ie/Abr5OIiEgDU9HXE7vuY3Bd76/Pw7f30uuoXkQk6sRWtcHBgwd54IEHKC0tpaysjL59+zJy5EjmzJnDhg0biIuLA+C2227jjDPOwFrL/PnzWbNmDc2aNWPs2LGkpqYCsGTJEt544w0ALr30UgYNGgTAli1bmDNnDgcPHqR3796MGjUKYwzFxcVMnz6dr7/+mlatWjFhwgQSEhLq6VtRx3JWQmISdOzidRKML4CFUNG3PtXrOCIi0oCqLPomTZrwwAMP0Lx5c0pLS7n//vtJS0sD4Nprr6Vv375HbL9mzRp27drFzJkz2bRpE88++yxTpkyhuLiY119/nalTpwIwadIk0tPTSUhI4JlnnuHmm2+mS5cuPPTQQ2RnZ9O7d28WLVpEz549GTFiBIsWLWLRokVcc801df9dqGO2tBS7bjXmrL4Yx4PV8L7LF1oG1+7Jx3gcRUREGlaVp+6NMTRv3hyAsrIyysrKMOb4dbFq1SoGDBiAMYauXbuyb98+CgoKyM7OplevXiQkJJCQkECvXr3Izs6moKCA/fv307VrV4wxDBgwgKysLACysrIYOHAgAAMHDqx4vdHbtB7272v4Z88fj6/81L1usRMRiTbVukbvui6/+c1vuPHGG+nZsydduoROR7/88stMnDiRBQsWcOjQIQCCwSApKSkV7w0EAgSDQYLBIIFAoOJ1v99/zNfLtwcoLCwkOTkZAJ/PR2Fh4UnubsOwa7Mgtgl0S/M6SkhcPDRtqmv0IiJRqMpT9wCO4zBt2jT27dvHI488wrZt27jqqqvw+XyUlpby1FNP8eabb3L55ZfXW1BjzHHPJGRmZpKZmQnA1KlTj/hBo6FZa8lf9zExvdJJPq39CbeNjY1tsKy7/a2I3V+Mrw7Ha8j89SHc80P474Pyeyecs4Py12ismmwcHx9P9+7dyc7O5pJLLgFC1/AHDx7M22+/DYSO1Hfv3l3xnvz8fPx+P36/nw0bNlS8HgwG6datG36/n/z8/KO2B0hKSqKgoIDk5GQKCgpo2bLlMXNlZGSQkZFR8fvK4zc0u2Mb7q4vcYf+pMocKSkpDZa1rKWPsl0763S8hsxfH8I9P4T/Pii/d8I5Oyh/ZW3btj3h16s8db9371727dsHhGbgr127lnbt2lFQUACEjmCzsrJo3z509Jqens6yZcuw1rJx40bi4uJITk4mLS2NnJwciouLKS4uJicnh7S0NJKTk2nRogUbN27EWsuyZctIT0+v+KylS5cCsHTpUs4+uxHck14FmxOaR9Bors8fZnwBKNSpexGRaFPlEX1BQQFz5szBdV2stfTr148+ffrw4IMPsnfvXgBOP/10xowZA0Dv3r1ZvXo1t99+O02bNmXs2LEAJCQkcNlll3H33XcDcPnll1fcKnfjjTcyd+5cDh48SFpaGr17h570NmLECKZPn87ixYsrbq9r7OzaldAhFeNvZKeUfH4oyMdae8LJlCIiElmMtdZ6HaKu7dixw5NxbVEh7v9chxl+Bc5Pr6py+4Y89eT+vzexr83Dmf4CJuHYl0BqSqfOvBfu+6D83gnn7KD8lZ30qXupPvvJKrAWk9a4TtsDlW6x0+l7EZFooqKvQzYnK3SKvEMnr6McxRxeNEf30ouIRBcVfR2xhw7B+jWYXmc3zmvg5avjFajoRUSiiYq+rnz2CXyzv3E8xOZYyk/da+a9iEhUUdHXEbt2ZWj1ue/18jrKMZkmTSAhEQpU9CIi0URFXwestdiclfD9NEzTZl7HOT5fAKtr9CIiUUVFXxe2b4Xg7sZ72r6cL6BZ9yIiUUZFXwdszkoATK/GvXKf8fk1615EJMqo6OuAzVkJHbtikpK9jnJivgAUFWJLS71OIiIiDURFf5LsniBs3dT4T9sDJPvBWthb4HUSERFpICr6k2Q/WQWA+UHjPm0PYJIO32Kne+lFRKKGiv4k2ZyV4G8F7c7wOkrVkg+vjqd76UVEooaK/iTYg9/Ap9mYH5zTOFfD+67Di+ZY3UsvIhI1VPQn49O1cPBgeFyfB0hoCTGxmnkvIhJFVPQnweZ8BM1aQNceXkepFuM4kJSse+lFRKKIir6WrOti166CHr1Dy8uGC59fq+OJiEQRFX1tbdsMhUFMrzA5bV/OF9CpexGRKKKiryWbsxKMg+mZ7nWUGjHJWgZXRCSaqOhryeashE7fwyS29DpKzST54cB+7IESr5OIiEgDUNHXgg1+Df/9PCwWyTlK+b30usVORCQqqOhrweZkAYTPbXWVmMP30us6vYhIdFDR14JduxJanwptTvM6Ss35Qkf0VtfpRUSigoq+huyB/fCftZheYbIa3nfpiF5EJKqo6GtqwxooLQ3P6/OAad4CWsRp5r2ISJRQ0deQzcmCuHjo3M3rKLWXpEVzRESihYq+Bqxbhv1kFaZHH0xsrNdxai85oEfViohECRV9TWzZCEWF0Cs8T9uXMz6/HlUrIhIlVPQ1YNeuhJgYTI8+Xkc5OT4/FBZgXdfrJCIiUs9U9DVgc7KgczdMfILXUU6OLwBlZaGzEyIiEtFU9NVkv94FO7aF5SI53/Xtojk6fS8iEulU9NVkc1YC4bka3lEOL5qje+lFRCKfir6a7NosOLU9pvWpXkc5eYeP6K1m3ouIRDwVfTXYkn2wcR0mzGfbV0hKBmM0815EJAqo6KvBrl8NZWWYtAg4bQ+YmBho6dO99CIiUUBFXx05KyGhJaSe6XWSuuMLaHU8EZEooKKvgi0rw37yMaZnH4wT43WcuuPza9a9iEgUUNFXJfdTKCnG/OBcr5PUKaOiFxGJClUu2H7w4EEeeOABSktLKSsro2/fvowcOZK8vDxmzJhBUVERqampjBs3jtjYWA4dOsTs2bPZsmULiYmJjB8/ntatWwOwcOFCFi9ejOM4jBo1irS0NACys7OZP38+rusydOhQRowYAXDcMRqSXbsSYmOhe1qDjlvvfAHYV4Q9dBDTpKnXaUREpJ5UeUTfpEkTHnjgAaZNm8af/vQnsrOz2bhxIy+88ALDhw9n1qxZxMfHs3jxYgAWL15MfHw8s2bNYvjw4bz44osAbN++neXLl/PYY49x7733Mm/ePFzXxXVd5s2bxz333MP06dP58MMP2b59O8Bxx2hINnsldO2JaR7X4GPXq2QtmiMiEg2qLHpjDM2bNwegrKyMsrIyjDGsX7+evn37AjBo0CCysrIAWLVqFYMGDQKgb9++rFu3DmstWVlZ9O/fnyZNmtC6dWvatGlDbm4uubm5tGnThlNOOYXY2Fj69+9PVlYW1trjjtFQ7K7tkLcjYmbbV2aSDi+ao5n3IiIRrVrnwV3X5a677mLXrl386Ec/4pRTTiEuLo6YmNDkNL/fTzAYOjIMBoMEAqGjxZiYGOLi4igqKiIYDNKlS5eKz6z8nvLty3+9adMmioqKjjvGd2VmZpKZmQnA1KlTSUlJqdE34Xj2ffAexUBg4DBi6ugzK4uNja2zrDVV2rET+UCie4jmtczgZf66EO75Ifz3Qfm9E87ZQflrNFZ1NnIch2nTprFv3z4eeeQRduzYUd+5aiQjI4OMjIyK3+/evbtOPtcmt8L88KcUOE2gjj6zspSUlDrLWlOW0A9Qe7dtpbiWGbzMXxfCPT+E/z4ov3fCOTsof2Vt27Y94ddrNLMtPj6e7t27s3HjRkpKSigrKyMmJoZgMIjfHzoV7Pf7yc/PJxAIUFZWRklJCYmJiRWvl6v8nsqv5+fn4/f7SUxMPO4YDcV0743p3rtBx2wwcfHQpKnWuxcRiXBVXqPfu3cv+/btA0Iz8NeuXUu7du3o3r07K1asAGDJkiWkp6cD0KdPH5YsWQLAihUr6N69O8YY0tPTWb58OYcOHSIvL4+dO3fSuXNnOnXqxM6dO8nLy6O0tJTly5eTnp6OMea4Y8jJM8boXnoRkShQ5RF9QUEBc+bMwXVdrLX069ePPn36cNpppzFjxgxeeeUVOnbsyJAhQwAYMmQIs2fPZty4cSQkJDB+/HgA2rdvT79+/bjjjjtwHIcbbrgBxwn9nDF69GgmT56M67oMHjyY9u3bA3D11VcfcwypIz6/VscTEYlwxlprvQ5R1xrbHILj8foak/v0NOzWTcRMebpW7/c6/8kK9/wQ/vug/N4J5+yg/JVVdY1eK+NFs+QA7AkSgT/riYjIYSr6aJbkh0MHoaTY6yQiIlJPVPTRrHx1PC2aIyISsVT0Ucz4tAyuiEikU9FHM19oXQLNvBcRiVwq+mh2uOi1aI6ISORS0Ucx06QpJCTq1L2ISART0Ue7JD9WRS8iErFU9NEuOaBZ9yIiEUxFH+WMLwCFOqIXEYlUKvpo5/PD3j3Y0lKvk4iISD1Q0Uc7XwCshb0FXicREZF6oKKPclo0R0Qksqnoo53upRcRiWgq+miXfHh1vAId0YuIRCIVfbRLSIKYGCjUEb2ISCRS0Uc54ziQlAw6ohcRiUgqegFfAKt76UVEIpKKXkK32Gl1PBGRiKSiF4zPr1n3IiIRSkUvoSP6A/uxB0q8TiIiInVMRS8Vt9hp0RwRkcijohdM0uGi13V6EZGIo6KX0KNqQTPvRUQikIpevl0GV/fSi4hEHBW9YJrHQfMWmnkvIhKBVPQS4gtgNRlPRCTiqOglRPfSi4hEJBW9AIefS6+iFxGJOCp6CUn2Q2EB1nW9TiIiInVIRS8hSQEoK4PiQq+TiIhIHVLRCwAmWbfYiYhEIhW9hPhCi+ZoGVwRkciiopeQw4vmWE3IExGJKCp6CWmZDMZo5r2ISIRR0QsAJjYWWvp06l5EJMLEVrXB7t27mTNnDnv27MEYQ0ZGBhdddBGvvfYa77//Pi1btgTgyiuv5KyzzgJg4cKFLF68GMdxGDVqFGlpaQBkZ2czf/58XNdl6NChjBgxAoC8vDxmzJhBUVERqampjBs3jtjYWA4dOsTs2bPZsmULiYmJjB8/ntatW9fPd0Igya9T9yIiEabKoo+JieHaa68lNTWV/fv3M2nSJHr16gXA8OHDueSSS47Yfvv27SxfvpzHHnuMgoIC/vCHP/D4448DMG/ePO677z4CgQB333036enpnHbaabzwwgsMHz6c8847j6effprFixczbNgwFi9eTHx8PLNmzeLDDz/kxRdfZMKECfXwbRAg9BS73V95nUJEROpQlafuk5OTSU1NBaBFixa0a9eOYPD4p3ezsrLo378/TZo0oXXr1rRp04bc3Fxyc3Np06YNp5xyCrGxsfTv35+srCystaxfv56+ffsCMGjQILKysgBYtWoVgwYNAqBv376sW7cOa+3J7rMch/H5QY+qFRGJKFUe0VeWl5fH559/TufOnfnPf/7Du+++y7Jly0hNTeW6664jISGBYDBIly5dKt7j9/srfjAIBAIVrwcCATZt2kRRURFxcXHExMQctX0wGKx4T0xMDHFxcRQVFVVcLiiXmZlJZmYmAFOnTiUlJaWm3wdPxMbGNqqsxW3bs29pEYGWiZimzarcvrHlr6lwzw/hvw/K751wzg7KX6OxqrvhgQMHePTRR7n++uuJi4tj2LBhXH755QC8+uqrPP/884wdO7begp5IRkYGGRkZFb/fvXu3JzlqKiUlpVFldZs2B2D35k2YVm2q3L6x5a+pcM8P4b8Pyu+dcM4Oyl9Z27ZtT/j1as26Ly0t5dFHH+WCCy7g3HPPBcDn8+E4Do7jMHToUDZv3gyEjsjz87+d0BUMBvH7/Ue9np+fj9/vJzExkZKSEsrKyo7Y/rufVVZWRklJCYmJidXdd6kho0VzREQiTpVFb63lySefpF27dlx88cUVrxcUFFT8euXKlbRv3x6A9PR0li9fzqFDh8jLy2Pnzp107tyZTp06sXPnTvLy8igtLWX58uWkp6djjKF79+6sWLECgCVLlpCeng5Anz59WLJkCQArVqyge/fuGGPqbOflO7RojohIxKny1P1nn33GsmXL6NChA7/5zW+A0K10H374IVu3bsUYQ6tWrRgzZgwA7du3p1+/ftxxxx04jsMNN9yA44R+nhg9ejSTJ0/GdV0GDx5c8cPB1VdfzYwZM3jllVfo2LEjQ4YMAWDIkCHMnj2bcePGkZCQwPjx4+vjeyDlknVELyISaYyNwGnsO3bs8DpCtTS2a0zWWtzbfo4ZfBHOz0dXuX1jy19T4Z4fwn8flN874ZwdlL+yOrlGL9HBGBM6fV+gU/ciIpFCRS9H8vmxupdeRCRiqOjlCMYX0BG9iEgEUdHLkXx+2BPUCoQiIhFCRS9H8gXg0EEo2ed1EhERqQMqejlSxS12On0vIhIJVPRyBJMUWjRH1+lFRCKDil6OdPiIXjPvRUQig4pejuTTEb2ISCRR0csRTJOmEJ+oa/QiIhFCRS9H8/mxWu9eRCQiqOjlaIfvpRcRkfCnopejGF9Ap+5FRCKEil6OlhyAvXuwZWVeJxERkZOkopejJfnBWigs8DqJiIicJBW9HMVodTwRkYihopej+cqLXhPyRETCnYpejnZ40RyrI3oRkbCnopejJSZBTIxO3YuIRAAVvRzFOA4kJevUvYhIBFDRy7ElaXU8EZFIoKKXY0sO6ME2IiIRQEUvx2R8AdCjakVEwp6KXo7N54f9JdgD+71OIiIiJ0FFL8eme+lFRCKCil6OyRy+l1632ImIhDcVvRzb4SN6LZojIhLeVPRybMnlR/Q6dS8iEs5U9HJMpnkcNG+hohcRCXMqejk+nx+re+lFRMKail6OT/fSi4iEPRW9HJfxaXU8EZFwp6KX4/P5oTCIdV2vk4iISC2p6OX4fAEoK4PivV4nERGRWlLRy3GZZC2aIyIS7lT0cnxJh4u+QBPyRETCVWxVG+zevZs5c+awZ88ejDFkZGRw0UUXUVxczPTp0/n6669p1aoVEyZMICEhAWst8+fPZ82aNTRr1oyxY8eSmpoKwJIlS3jjjTcAuPTSSxk0aBAAW7ZsYc6cORw8eJDevXszatQojDHHHUMaSPLh1fEK8zEeRxERkdqp8og+JiaGa6+9lunTpzN58mTeffddtm/fzqJFi+jZsyczZ86kZ8+eLFq0CIA1a9awa9cuZs6cyZgxY3j22WcBKC4u5vXXX2fKlClMmTKF119/neLiYgCeeeYZbr75ZmbOnMmuXbvIzs4GOO4Y0kBaJoMxOqIXEQljVRZ9cnJyxRF5ixYtaNeuHcFgkKysLAYOHAjAwIEDycrKAmDVqlUMGDAAYwxdu3Zl3759FBQUkJ2dTa9evUhISCAhIYFevXqRnZ1NQUEB+/fvp2vXrhhjGDBgQMVnHW8MaRgmNhYSk3SNXkQkjNXoGn1eXh6ff/45nTt3prCwkOTkZAB8Ph+FhYUABINBUlJSKt4TCAQIBoMEg0ECgUDF636//5ivl28PHHcMaUC+AFbL4IqIhK0qr9GXO3DgAI8++ijXX389cXFxR3zNGIMx9XsV90RjZGZmkpmZCcDUqVOP+EGjMYuNjW30WQtat8Hd/RWBY+QMh/wnEu75Ifz3Qfm9E87ZQflrNFZ1NiotLeXRRx/lggsu4NxzzwUgKSmJgoICkpOTKSgooGXLlkDoSH337t0V783Pz8fv9+P3+9mwYUPF68FgkG7duuH3+8nPzz9q+xON8V0ZGRlkZGRU/L7y+I1ZSkpKo8/qxiVid689Zs5wyH8i4Z4fwn8flN874ZwdlL+ytm3bnvDrVZ66t9by5JNP0q5dOy6++OKK19PT01m6dCkAS5cu5eyzz654fdmyZVhr2bhxI3FxcSQnJ5OWlkZOTg7FxcUUFxeTk5NDWloaycnJtGjRgo0bN2KtZdmyZaSnp59wDGlAyX4oLsIeOuR1EhERqYUqj+g/++wzli1bRocOHfjNb34DwJVXXsmIESOYPn06ixcvrrj1DaB3796sXr2a22+/naZNmzJ27FgAEhISuOyyy7j77rsBuPzyyytulbvxxhuZO3cuBw8eJC0tjd69ewMcdwxpQEmVFs1p1cbbLCIiUmPGWmu9DlHXduzY4XWEagmHU0923ce4jz+Ic+dUTJduR3wtHPKfSLjnh/DfB+X3TjhnB+Wv7KRP3UuU8x1eNEcz70VEwpKKXk7Mp/XuRUTCmYpeTiw+EWKbqOhFRMKUil5OyBgTWvNep+5FRMKSil6qluTH6oheRCQsqeilSiY5AAUqehGRcKSil6r5/FAYJALvxBQRiXgqeqmazw8HD0LJPq+TiIhIDanopWqH76XXhDwRkfCjopcqmYqi13V6EZFwo6KXqh1eNEcz70VEwo+KXqpWsTqeTt2LiIQbFb1UyTRtFlohT0f0IiJhR0Uv1ePzY3UvvYhI2FHRS/X4/Dp1LyIShlT0Ui3Gp/XuRUTCkYpeqsfnh717sGVlXicREZEaUNFL9fgCYF3Yu8frJCIiUgMqeqkWk6xFc0REwpGKXqqn/F56zbwXEQkrKnqpnsPL4NpCTcgTEQknKnqpnsQkcBwd0YuIhBkVvVSLcRxI8usavYhImFHRS/X5/FjdSy8iElZU9FJ9Wh1PRCTsqOil2kKr4+nUvYhIOFHRS/UlB2B/CfbAfq+TiIhINanopfqS9Fx6EZFwo6KXatPqeCIi4UdFL9VXvmiOjuhFRMKGil6qr3wZXB3Ri4iEDRW9VJtpEQfNWugavYhIGFHRS80k+7E6ohcRCRsqeqmZJC2aIyISTlT0UiMmOaCiFxEJIyp6qRlfqOit63qdREREqkFFLzXj80NZKRTv9TqJiIhUQ2xVG8ydO5fVq1eTlJTEo48+CsBrr73G+++/T8uWLQG48sorOeusswBYuHAhixcvxnEcRo0aRVpaGgDZ2dnMnz8f13UZOnQoI0aMACAvL48ZM2ZQVFREamoq48aNIzY2lkOHDjF79my2bNlCYmIi48ePp3Xr1vXwLZCaML4AFnT6XkQkTFR5RD9o0CDuueeeo14fPnw406ZNY9q0aRUlv337dpYvX85jjz3Gvffey7x583BdF9d1mTdvHvfccw/Tp0/nww8/ZPv27QC88MILDB8+nFmzZhEfH8/ixYsBWLx4MfHx8cyaNYvhw4fz4osv1uV+S23pXnoRkbBSZdF369aNhISEan1YVlYW/fv3p0mTJrRu3Zo2bdqQm5tLbm4ubdq04ZRTTiE2Npb+/fuTlZWFtZb169fTt29fIPRDRVZWFgCrVq1i0KBBAPTt25d169Zhra3lbkqdqVgdT0UvIhIOqjx1fzzvvvsuy5YtIzU1leuuu46EhASCwSBdunSp2Mbv9xMMhk7xBgKBitcDgQCbNm2iqKiIuLg4YmJijto+GAxWvCcmJoa4uDiKiooqLhdUlpmZSWZmJgBTp04lJSWltrvVoGJjY8Mmaznr85FnDHEHD4Rl/srCPT+E/z4ov3fCOTsof43Gqs2bhg0bxuWXXw7Aq6++yvPPP8/YsWPrNFhNZGRkkJGRUfH73bt3e5alJlJSUsIm6xESkyjZsZ2E0tLwzH9Y2H7/Kwn3fVB+74RzdlD+ytq2bXvCr9dq1r3P58NxHBzHYejQoWzevBkIHZHn5397SjcYDOL3+496PT8/H7/fT2JiIiUlJZSVlR2x/Xc/q6ysjJKSEhITE2sTV+qaz48t0Kl7EZFwUKuiLygoqPj1ypUrad++PQDp6eksX76cQ4cOkZeXx86dO+ncuTOdOnVi586d5OXlUVpayvLly0lPT8cYQ/fu3VmxYgUAS5YsIT09HYA+ffqwZMkSAFasWEH37t0xxpzMvkpd8WnRHBGRcFHlqfsZM2awYcMGioqKuOWWWxg5ciTr169n69atGGNo1aoVY8aMAaB9+/b069ePO+64A8dxuOGGG3Cc0M8So0ePZvLkybiuy+DBgyt+OLj66quZMWMGr7zyCh07dmTIkCEADBkyhNmzZzNu3DgSEhIYP358PX0LpKaML4Dd8pnXMUREpBqMjcCp7Dt27PA6QrWE6zUm9+1XsG+9ROvXlpBfGL4L54Tr97+ycN8H5fdOOGcH5a+sXq7RS5RrdQoA36z8wOMgIiJSFRW91Jjpcz6c0YW9c6Zgd33pdRwRETkBFb3UmGnSBOeWSRDbBPfJqdhvvvE6koiIHIeKXmrFBFqRNOEB2LEN+8JcrVooItJIqeil1pr17ou5+BfYFf/CLnvX6zgiInIMKno5KebiK6DHWdhXnsZu3eR1HBER+Q4VvZwU4zg4N9wBLZNxn3wYq+fUi4g0Kip6OWkmoWVocl5hEHfedKzreh1JREQOU9FLnTAdu2CuuAnWfYx95zWv44iIyGEqeqkzZuCFmL6DsG+9jF2/xus4IiKCil7qkDEGc81YaNsB99lHsPlfex1JRCTqqeilTplmzUPX60tLcZ96GHvokNeRRESimope6pxp0w7n+l/D5xuxf53ndRwRkaimopd6Yfr0xwwbgf3XO7gfLfU6johI1FLRS70xP7sOOnfDPj8b++U2r+OIiEQlFb3UGxMbi3Pzb6B5C9wnH8IeKPE6kohI1FHRS70yvgDOmDshbyd2wSw9/EZEpIGp6KXemTN7YH52LfbjD7Hvv+V1HBGRqKKilwZhfnQppPXFvr4Am7vB6zj1yroudm0WNm+H11FERFT00jCMMTijbgd/K9yn/oTdW+B1pDpnXRe7ejnu73+NO+sPuI/ch927x+tYIhLlVPTSYExcAs6td8O+YtynH8GWlXkdqU5Ya7HZH+H+cQLuE1OhtBRz+Sgo3hv6oaa01OuIIhLFYr0OINHFtO+IueZW7PzHsW++iLn0Oq8j1Zq1FtZ9jPvmS/BFLrRqgxk9AXPOAExMDG6SDztvOvb1+Zhf3OR1XBGJUip6aXBO/6G4uZ9i//E6NvVMTNq5XkeqEWstbMjGffNF+HwjBFpjfjkO03cwJvbb/6WcvoNxv9iMzXwLt0MnnP5DPEwtItFKRS+eMFeOwX6xGffPM3DuewzT+lSvI1WL/TQH962XIPdT8Kdgrh2L6T8UE9vkmNuby0dh//s59oW52HYdMKd3buDEIhLtdI1ePGGaNMW55S4wBvfJqdiD33gd6YTsxnWUPXIv7mO/hd1fYa66BeePT+EMuPC4JQ9gYmJwbr4TEpNw507BFhU2YOroZbdtwX6R63UMkUZBRS+eMa3a4NwwAf77Ofalp7yOc0w291PKHvst7rR7YOd/Mb+4CWfK0ziDL8I0OX7BV2YSk3DG3gNFmpzXEOz6NbhT78SdPBH37VewbmRM+hSpLZ26F0+ZXmdjho/E/v013E7fw7lgmNeRALCfbwydol+3GhKTMD8fjRn4Y0yzZrX6PHN6J8y1t2H/PB37vwswV9xYx4kFwH7yMe7cKdDmNEy7Dti3XsJ+9gnOjXdgfAGv44l4QkUvnjOXXInd8hn2paewp3fCdOjkWRb7xeZQwa/NgoREzGW/xAwejmnW/KQ/2+k3GPeL3G8n5/UbXAeJpZzNycJ98iFo2wFnwu8hPhG+n4Z96UncB3+NM3oCpmcfr2OKNDiduhfPGScG56aJoevYT0zF7itu8Az2v59TNmcK7h8nQO6nmBHX4Dz0DM6Fl9VJyZczl4+CM3ti/zIH+8XmOvvcaGezV+A+8RC0OwPnjj9iElqGFmk6byjOfY9BUjLuzAdx/zofW3rI67giDUpFL42CSUwKTVoryMedPwPrug0yrv1yG2VPTsX9/a/hs7WYn1wZKvjhIzHN4+p8PBMbizPmN5DYUpPz6ohdvRz3yYehQyrOHb/HxCcc8XVzanucex7BDPox9r2FuH+6G/v1Lm/CinhARS+Nhun0PczPR0POSuw//7fexrHWYnf+lz2P3o/74DhYtwYzfCTOQ8/iXHIlJi6+3sYGMC19ocl5e/eEJudFyAqBXrCrPsB96k9wRhec8Q9i4hKOuZ1p2gzn6ltDd3rs+hL3DxOwH3/YwGmjgy3Ix132riZBNiK6Ri+NihkyHDZ/il30Iu7O7aEX3TJsWSmUuVBWCmVl4JaFfu26UFp6+Pdl3/678vYVrx3+x4bOFhxs3gJz4aWYYT/DJLRs2P08vXNoct78GdjXF2CuuKFBx48E7kdLsX+eDqnfw/n1/dU6A2P6nIfToRPuM4/gPvkwZuCFmJE3YJrWbpKlHMnuL8Gd8QDs2Aauixn0Y68jCSp6aWSMMXDdr7D7irD/WQsxMYf/iQXHCf278muxTaBFfMVrxjn8NScGYiu9p/z18n+ax5Fy0aUESxvmEsGxOP2H4G7bjM18E/f0VJy+mpxXXe6Kf2H//Dh0+T7OuPsxzVtU+72mVRucO6diF/0F++5CbO6nODffiTm1fT0mjny2rAz36Wmwazuc2h678HnsWf0wLX1eR4t6KnppdEzzFsRM+H29j+P4/LB7d72PcyIVK+c9PwfbtoOndxyEC3f5+9gFM6FrD5xxv63VZEkTGxv63p/ZC/fP03H/eAfmqptDqxwaUw+pI599bR6s+xhzzVhM1+64D/46dLZq9Hivo0U9XaMX8ZCJjQ1NQkxoiTv3IWzRXq8jNWru/70XKvnv9QodyZ/kHRGmZx+cBx6Hjl2xC2Zi5z2GPVBSR2mjh/uvv2MX/w2T8VOcgRdiTm2PGTYC++/F2I3rvI4X9VT0Ih4LTc67GwoLcJ/W5LzjcZf9E/v8bOiWhvOr+2q9eNF3GV8gNFv/p1dhV/4f7h/uwG7TrY/VZdetxr7yDPRMx/z8+orXzfArINAa98UntRqkx6o8dT937lxWr15NUlISjz76KADFxcVMnz6dr7/+mlatWjFhwgQSEhKw1jJ//nzWrFlDs2bNGDt2LKmpqQAsWbKEN954A4BLL72UQYMGAbBlyxbmzJnDwYMH6d27N6NGjcIYc9wxRCKROaML5pqx2AWPh1bOG6nJeZW5/3oH+9KT0DMd59ZJmCZN6/TzjRODufgX2K49cJ95FPeh32AuH40ZMlyn8k/AfrkN9+k/hRYpGjMxNEfmMNOsGc4vbsKdMxn7/tuYH/3Mw6TRrcoj+kGDBnHPPfcc8dqiRYvo2bMnM2fOpGfPnixatAiANWvWsGvXLmbOnMmYMWN49tlngdAPBq+//jpTpkxhypQpvP766xQXhxZFeeaZZ7j55puZOXMmu3btIjs7+4RjiEQq57yhmMHDsf/vTdyPlnodp9Fw3/9bqOR/cA7OrXfXeclXZrr2wLn/cejWG/vK06G1DvYV1dt44cwWFeLO+j00aYrzq98e864Hk3Yu/OAc7NsvY4Nfe5BSoBpF361bt6OOpLOyshg4cCAAAwcOJCsrC4BVq1YxYMAAjDF07dqVffv2UVBQQHZ2Nr169SIhIYGEhAR69epFdnY2BQUF7N+/n65du2KMYcCAARWfdbwxRCKZGXkDdO2OfX4WdtsWr+N4zv1/b2JfeRrS+uLccle1HyR0Mkxiy9ClgZE3wCcf4/7+19jcDfU+bjixhw7izpkMe/fg3HYvJtDquNs6v7gJrIv76rwGTCiV1WrWfWFhIcnJyQD4fD4KC0OrewWDQVJSUiq2CwQCBINBgsEggcC3D5Tw+/3HfL18+xONcSyZmZlkZmYCMHXq1CMyNGaxsbFhk/VYlL9+lN39MMGJo+HJqfgf+TPOCW5Paqz7UF0nyr9v0UsUvzaPZv0GkXTH7zGxDXyT0JU3cOjs/hQ+8lvKpt1LwpU3EnfptRjn2+OjcP7+1za7tZa9j/+eA5v/Q9LEP9D8nPNO/IaUFPaNHE3xC0+S+MUmmvXpV8vERwrn7z00bP6T/j/HGFPv17CqGiMjI4OMjIyK3+/2+Jap6kpJSQmbrMei/PXo5rtw/zSJr6fejfPr32FiYo65WaPeh2o4Xn73H69j33gek34+h667nfw9exo+HICvFfaeRzEvzKX4xacoXr0C54Y7MEmhg5Bw/v7XNrv7t1exS9/F/PRqis/8AcXV+Ax73g8h82/seWoazu9m1ckCReH8vYe6zd+2bdsTfr1Ws+6TkpIoKCgAoKCggJYtQ6uK+f3+I4Ln5+fj9/vx+/3k5+dXvB4MBo/5evn2JxpDJBqYjqHJeXyag33jOa/jNCj3b6+GSv6cAZgb/6fhj+S/w8TFY26aiLnuV7D5U9wHb8duWONpJq+4WR9g33wRc+5AzPCR1X6fiW2Cc9XN8PUu7D/qb3lrObZaFX16ejpLl4YmCy1dupSzzz674vVly5ZhrWXjxo3ExcWRnJxMWloaOTk5FBcXU1xcTE5ODmlpaSQnJ9OiRQs2btyItZZly5aRnp5+wjFEokVoct5F2PcWRcXkPGst7lsvhYqk72DMDROOeyajoRljcC4YhnPPY6E1D2b8DveN56LqtjH7+Ubs/BnQ6XuYX46r8Zlc8/0fYM4ZiP3n69ivdtRPSDkmY621J9pgxowZbNiwgaKiIpKSkhg5ciRnn30206dPZ/fu3UfdXjdv3jxycnJo2rQpY8eOpVOn0EpfixcvZuHChUDo9rrBg0PLfW7evJm5c+dy8OBB0tLSGD16NMYYioqKjjlGdezYER5/iHTqyVvhkN+WluI+dh98kYtz158wHVKP+Ho47MOJlOe31mLffBH799dCq9P98ldH3KrVmNhvvsG++gz2/94jtvP3cH95O6bNaV7HqrGa/Nmx+V/jTvkfaNos9CTAxKRajWn3BHHvHwsdz8QZ/7uTuuwbKX/260JVp+6rLPpwpKJvGMrfMOzeAtw/3AExMTj3PXbEA3jCZR+OJyUlha+//jq0Lvo//hdzwbDQEqpO41/Ly368HPvCXOzBA6F77gf9OKzuua/unx17oAT34UmQnxf6YbNdh5Ma133/b9hXng49XyD9/Fp/TiT82W/U1+hFpOGYlsmHV84L4j49LaJWzrPWYl9fECr5AReGTckDmD79CTz+AnTtgX3pSdyZD2L3BL2OVaesW4b7zKOwYxvOmDtPuuQBzKAfQ4dU3Fef1XLDDSQ8/o8SiXKmY1fM1beGJuctfN7rOHXCWkvx/JnY9xZiBl+EuebWsCn5cjH+FJzbH8BcdTN8tg73wXHY1f/2OladsX9dAGuzML8Yg+lxVp18pomJwbn6VigswL71cp18ppxYeP1fJRLFnPN/iBl0Efbdhbgrl3kd56RY18W+8gwlb7+KGfoTzJU3h9Vp78qMMTiDh+P8dgYETsF94iHcBY9j94f30aq79J/YzDcxQy7GGXxRnX62ST0Tc8GPsO+/jd3+eZ1+thxNRS8SRswVN0DnbtjnZmL/G15/QdqSYtysD3D/PAN34i+xi/9G3CW/wFxxY9iWfGXm1NNwJj2MuWgkdvm/QrfhbQrPFfXshuzQssM9+tTbcxfMpddCXALuC09gXbdexpAQPY9eJIyY2CY4t9yF+8cJuDMeYG//IbgdOmPO7I5pmex1vCNYa2HHNuzaVdh1qyD3U3BdiEvA9DgLc1Y/EoZdwjeV1tIIdya2CeZn12B79gk9537aPZgLL8VcciUmtv6X760Ldud23Ccfhjan4Yz5Tb3d4mjiEzGXjwo9yOnfizHnZVT9JqkVFb1ImDFJyTjj7sd94zkOLPkn9kAJFqBNO0zXHtC1B6ZrD0xyoKqPqnP2mwPwn7XYT1ZhP/kYyh9k0r4j5sLLMD37QMczK8ojEo7kj8V0/j7O/TOwrzyL/cfr2PVrcG68A3Nqe6+jnZAt2ht6UE1sLM6432JaHP2gmrpk+g3GfvD/sK/Px/7gnCPuKJG6o6IXCUOmQyox4x8kkOxj9+qV2I3rsJ+tw2b9Hyx7N1T8rdp8W/xn9sAEWtdLFpu383Cxr4LP1kHpIWjWHL6fhrn4CkyPPp780OE10zwOc/3t2B+cg/v8bNw/TMBcdn1o4mEjnHRoDx3CfWIKFOTjTJyMSTml3sc0joNz9S24fxgfWg3xul/V+5jRSEUvEsZMTGxoRn7HrvCjS7FuGfz381Dpb1yHXbMCPswMFX+gNaZr94ojflq1qdURtT10CDatx37ycajcv/oy9IVT2mEGXRQ6au/SvUGeNBcOTO++OKln4j43C/vK09i1WTijbsf4Gs8PP9Za7F/mwKYNoWWHO32vwcY2p52BybgE+94i7HkZDTp2tFDRi0QQ48TA6Z0xp3eGYSNCk5y+/CJU+hvXhU6n//tfoeL3BUKFf+bh4j+l7XGL3xbkf3s6/tMc+GY/xDYJvXdwqNxN6xMv2hHNQpdbfotd+k/sX+fh/u52nGvHYvpU8eS3BmL/+b+h6+Q/+QXOuQMbfHzzk19gV/4f7otP4Nz7WKNZ+jhSqOhFIphxnND18fYdYehPQsW/czt24zrYuA77nxxYuTRU/EnJh0/1d8d06QH7i0NH7WtXQfktUP4UTN+BmJ7p8L1emGbNvdy9sGKMwQz6MfZ7vXDnPYb75MOYfoND96jHxXuWy65eHjptfvYFmJ9c6UkG0zwO5xc34T45FbvkHczQn3iSI1Kp6EWiiHEcaNchtMLZ4ItCM+O/+jJU/IdP95P1f1Ssi+040Pn7mEt/iemVDm07ROwEuoZi2rTDueth7N9fw77zGnbjepzR40M/ZDUw+0Uu7rzHIPVMzKhfe/vf9qx+0OMs7KIXsH3Ow/j83mWJMCp6kShmjIE2p4UeyjLgwlDxf70zdP930+aYbmmY+Oo9TEqqz8TGYn56FbbHWaGj+0fuxQz7GeanVzfY3Iay3Xm4s/4ICUk4t92DadK0QcY9HmMMzpVjcB8Yh/3rnzE3TfQ0TyRpfFM/RcQzxhhM67Y452XgnH2+Sr6emU7fw7n/ccwFw7DvvoE7ZSL2y231Pq49sJ89U34D3+wP3UbXSNZgMK3bYn58OXblMuynOV7HiRgqehERD5nmLXCuvQ3nV/eFHlz0xwm4mW/W22px1nVx5z1G6RebQwvinHZGvYxTW+bHl0GrNrgvPRm6w0NOmk7di4g0AuYH5+D8bhbu87Oxr87Drl2FueBH4JaBdaHMDf3arfTvsvKvlVV6zQVbdtztbcFu2JBN4g3jKemZ7vVuH8U0aYpz1c24jz8YeuDR8JFeRwp7KnoRkUbCtPTh3HYv9v/ew742r3anr40DMU5oIqUT8+2/Y2JCX3MczPCRtBj+c0oa6fLDpkcf6NM/NGHxnAGYVm28jnRSbMm+0PoW2zbDF7mhBaUmPNBg46voRUQaEWMMZsCPsGf1g8I9oaKOcQ4X+DGKu/JrjlPtmfON/e4J54qbcNetwX356dA8gkaet5wt3gvbtoRKfdsW7Be5kLfz2w2SUzDf/0GDZlLRi4g0QiahJUTx2u8mOYC55ErsX/8MOR9BWl+vIx3F7t0DX2zGbtt8+Gh9M+TnfbtByinQoROm/1DM6Z1Cv27pa/CcKnoREWmUzJCLscvfx335GZzvp3m2QJO1FvYEYdtm7Be52G1bQqW+p9Klj9ZtMalnwuCLMB06QYdUTHyiJ3m/S0UvIiKNkomNxbn6Vtw/TcL+/VXMpb+s9zGttaGj8m2bsV9swW7LDZV6UeHhUE7oSZHf6xk6Qj+9E7RPrfcn/Z0MFb2IiDRapks3zHlDQw+96TsY07ZDnX22LSmG7V9gv/wCvtx6+N9fwP6S0AaOE1oNsld6qNQ7dAotKR1mSz+r6EVEpFEzl12PXfMR7ktP4fzPH2s8Mc+WHoJdX4aKfPvWimInuPvbjeLiod3pmHMHwWlnhEr9tNM9XzGwLqjoRUSkUTOJSZjLrsP+ZS72o6WYvoOOuZ21NlTe5Ufn5aW+a3torQGAmNjQqfcu3aHdGZjTTod2p4dmw4fJzP6aUtGLiEijZ84fhv0gE/vXP2N7pePua47dtAH75dbQo5i3l5923/ftm/ytQkfpvdIPl/oZoccxxzbM8wQaCxW9iIg0esZxcK65FfeP/4M76Sa+rlzoLeJCRX7ugFCxtzsj9JTGOD2rAVT0IiISJkyHTpgrboQt/yG+azdKkltBuzPAH7mn3euCil5ERMKGM/RiGHox8Skp7N+9u+o3iJ5eJyIiEslU9CIiIhFMRS8iIhLBVPQiIiIRTEUvIiISwVT0IiIiEUxFLyIiEsFU9CIiIhFMRS8iIhLBTmplvNtuu43mzZvjOA4xMTFMnTqV4uJipk+fztdff02rVq2YMGECCQkJWGuZP38+a9asoVmzZowdO5bU1FQAlixZwhtvvAHApZdeyqBBgwDYsmULc+bM4eDBg/Tu3ZtRo0ZpmUMREZEaOOklcB944AFatmxZ8ftFixbRs2dPRowYwaJFi1i0aBHXXHMNa9asYdeuXcycOZNNmzbx7LPPMmXKFIqLi3n99deZOnUqAJMmTSI9PZ2EhASeeeYZbr75Zrp06cJDDz1EdnY2vXv3PtnIIiIiUaPOT91nZWUxcOBAAAYOHEhWVhYAq1atYsCAARhj6Nq1K/v27aOgoIDs7Gx69epFQkICCQkJ9OrVi+zsbAoKCti/fz9du3bFGMOAAQMqPktERESq56SP6CdPngzAD3/4QzIyMigsLCQ5ORkAn89HYWEhAMFgkJSUlIr3BQIBgsEgwWCQQCBQ8brf7z/m6+Xbi4iISPWdVNH/4Q9/wO/3U1hYyB//+Efatm17xNeNMQ1yTT0zM5PMzEwApk6delSOxiycsh6L8nsv3PdB+b0TztlB+avrpE7d+/1+AJKSkjj77LPJzc0lKSmJgoICAAoKCiqu3/v9fnZXeqRgfn4+fr8fv99Pfn5+xevBYPCYr5dvfywZGRlMnTq14jp/uJg0aZLXEU6K8nsv3PdB+b0TztlB+Wui1kV/4MAB9u/fX/HrtWvX0qFDB9LT01m6dCkAS5cu5eyzzwYgPT2dZcuWYa1l48aNxMXFkZycTFpaGjk5ORQXF1NcXExOTg5paWkkJyfTokULNm7ciLWWZcuWkZ6eXge7LCIiEj1qfeq+sLCQRx55BICysjLOP/980tLS6NSpE9OnT2fx4sUVt9cB9O7dm9WrV3P77bfTtGlTxo4dC0BCQgKXXXYZd999NwCXX345CQkJANx4443MnTuXgwcPkpaWphn3IiIiNWSstdbrENEqMzOTjIwMr2PUmvJ7L9z3Qfm9E87ZQflrQkUvIiISwbQEroiISAQ76fvoo8ncuXNZvXo1SUlJPProowBs3bqVZ555hgMHDtCqVStuv/124uLiKC0t5emnn2bz5s04jsP1119P9+7d2b9/P/fff3/FZwaDQS644AKuv/76o8Y73hLAr7zyCqtWrcIYQ1JSEmPHjj3uHQmNMf9rr73G+++/X3FHxpVXXslZZ50VNvmnT5/Ojh07ACgpKSEuLo5p06ZVmb8x7cPxxmxs+V9++WWWLVtGcXExf/nLXype37BhA8899xxffPEF48ePp2/fvtX6/tfVPgB88MEHLFy4EGMMycnJjBs37ohVQstlZ2czf/58XNdl6NChjBgxAoB//vOf/P3vf+err77i2WefPeZ7G2PuJ554gi1btmCt5dRTT61YCj1cvu9z5sxhw4YNFX/eb7vtNs4444ywyX///fdXTITfu3cvnTp14s477zxxeCvVtn79ert582Z7xx13VLw2adIku379emutte+//759+eWXrbXW/uMf/7Bz5syx1lq7Z88ee+edd9qysrKjPvPOO++seP93TZo0yX722WfWdV07efJku3r1amuttfv27avY5u9//7t96qmnwir/q6++at98881qZW6M+St77rnn7F//+tew24fjjdnY8n/22Wc2GAzaa6655ojXv/rqK7t161Y7a9Ys++9//7ta2etyH0pLS+0NN9xgCwsLrbXW/uUvf7GvvvrqUWOVlZXZX/3qV3bXrl320KFDduLEifa///2vtdbaLVu22K+++sqOHTu24nPCIXflv38WLFhgFy5cWGX2xpR/9uzZNf4z05jyVzZt2jS7ZMmSKrPr1H0NdOvWreKOgHI7duzg+9//PgC9evXio48+AmD79u306NEDCK0zEB8fz5YtW4567969eyveX9mJlgCufOT1zTffVHtRosaSv7YaW35rLf/+978577zzwm4fjjdmY8oP0LVr14qVNitr3bo1p59+eq0W5KqLfbDWYq3lm2++wVpLSUnJMc+q5ebm0qZNG0455RRiY2Pp379/xX+Djh070rp167DLXf73j7WWgwcPhl3+2mps+UtKSli/fn3FLewnoqI/Se3bt6/4D7BixYqKRX7OOOMMVq1aRVlZGXl5eWzZsuWIBYMAli9fTr9+/Y75l1VVSwC//PLL3HrrrXzwwQdcccUVYZf/3XffZeLEicydO5fi4uKwyw/w6aefkpSUxKmnnlrr/F7tw/HGbEz5G1JN9yE2NpabbrqJiRMncvPNN/Pll18yZMiQoz63vpfy9ir33LlzGTNmDDt27ODHP/5x2OV/+eWXmThxIgsWLODQoUNhlx9Cz5Xp0aNHtS65qehP0q233sp7773HXXfdxf79+4mNDU17GDx4MH6/n0mTJrFgwQLOPPNMHOfIb/eHH37I+eefX6txr7zySp544gnOP/98/vnPf4ZV/mHDhjFr1iz+9Kc/kZyczPPPPx9W+Su/vyZH88fjxT4cb8xwyV/XaroPpaWlvPfeezz88MM89dRTdOjQgYULF0ZN7rFjx/LUU0/Rrl07li9fHlb5r7rqKmbMmMFDDz1EcXExb775ZljlL1eTv380Ge8ktWvXjvvuuw8IncZZvXo1ADExMUdMLrrvvvuOWNd469atuK5LamoqAK7rctdddwGhVQSHDRtWrSWAL7jgAh566CFGjhwZNvl9Pl/F60OHDuXhhx+uVXav8kNokaiVK1fWybLLXuzD8cZsTPlP5kxVTdV0H7Zu3QpAmzZtAOjXrx9vvvkmu3fvrvjz/MMf/pAzzjij2kt5h1tux3Ho378/b731FoMHDw6b/OWXgpo0acLgwYN5++23a5Xdq/wQmoSXm5vLxIkTq5VTRX+SCgsLSUpKwnVd3njjDX74wx8CVFyDad68OWvXriUmJobTTjut4n3f/WnMcZyjZm6XLwHcpUsXli1bxoUXXgjAzp07K04XZ2VlndSDEbzIX1BQUPE/28qVK2nfvn1Y5Qf45JNPaNu27RGn18JpH443ZmPL31Bqug/BYJDt27ezd+9eWrZsydq1a2nXrh0pKSlH7ENZWRk7d+4kLy8Pv9/P8uXLuf3228M2t7WWr776ijZt2mCtZdWqVQ36909dfN/L//6x1pKVldWgf//U1Z+bFStWcNZZZ9G0adNq5dSCOTUwY8YMNmzYQFFREUlJSYwcOZIDBw7w7rvvAnDOOedw1VVXYYwhLy+PyZMn4zgOfr+fW265hVatWlV81q9+9Svuvvtu2rVrd9zxNm/efMQSwKNHj8YYwyOPPMLOnTsxxpCSksKYMWOqdZTQWPLPmjWLrVu3YoyhVatWjBkz5pgTrhprfgjdotOlSxeGDRtWZe7GuA/vvPPOMcdsbPlfeOEFPvjgg4q/nIcMGcLIkSPJzc3lkUceYd++fTRp0gSfz8djjz1WZf663If33nuPf/zjH8TExJCSksJtt91GYmLiUeOtXr2a5557Dtd1GTx4MJdeeikA77zzDm+99RZ79uwhKSmJ3r17c8sttzTq3K7r8sADD1BSUgLA6aefzo033lit68SNIT/Agw8+yN69eyvyjxkzplq3BzaW/AC/+93vGDFiBGlpaVXmBhW9iIhIRNNkPBERkQimohcREYlgKnoREZEIpqIXERGJYCp6ERGRCKaiFxERiWAqehERkQimohcREYlg/x8241l7o29yoAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 576x432 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(8,6))\n",
    "plt.plot(grouped_month_amount)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**由上图可知，消费金额在前三个月比较高，后续的消费金额比较稳定**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:xlabel='order_dt'>"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYMAAAEVCAYAAAACW4lMAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAAAx7ElEQVR4nO3deXgUVb7/8fepdAIJgZBOh0QWxbAqwg0YlE0Wicwg/kYGuV4XQNRRELcrouJyBx0FGZRFZmBcYBjRGdFBYMYZUYgIDKASZFGC7KCGxSydhOxJp87vj4IIEgxLp6u68309T56QSnXVt4DqT9epc04prbVGCCFEvWbYXYAQQgj7SRgIIYSQMBBCCCFhIIQQAgkDIYQQSBgIIYRAwkAIIQTgsruAC3H48GG7SxBCnAWPx0NOTo7dZQigefPmNS6XKwMhhBASBkIIISQMhBBCIGEghBACCQMhhBBIGAghhEDCwO+01mizyu4yhBDinAT1OAMn0VrDto2Y780HdzxhEybbXZIQQpw1CQM/0Ie/w3x3HuzYCoYBBXlorVFK2V2aEEKcFQmDC6CLC9H/fAe9+kNoGIm65V6oqkT/fQEUFkCTpnaXKIQQZ0XC4Dzoqir0fz5G/+OvUFyM6vdL1K9uQzVugt62EQ2Q84OEgRAiaEgYnCO98yvMRW/AoW+hQ2eMW+5BtWz94wqeBGu97KOopA72FCmEEOdIwuAs6eyjmIsXwObPIK4Zxn0ToWvP0+8LHA8Dcn4IfJFCCHGeJAxqoctK0cvfR69YCoaBGjoCNWgoKjyixvVVg4bQOAZyswJcqRBCnD8JgzPQWqO/WI1+/03I96J69EcNuwMVG1f7iz0JaLkyEEIEkVrDICcnhzlz5pCfn49SitTUVK6//nree+89PvnkE5o0aQLArbfeSrdu3QBYunQpq1atwjAM7rzzTpKTkwHYunUrCxYswDRNBg4cyNChQwHIyspi1qxZFBYWkpSUxIMPPojLZV9O6QN7MN99A/bthNbtMMZORLXpeNavV/GJ6P276rBCIYTwr1rfccPCwhg5ciRJSUmUlpYyceJEunTpAsCQIUP41a9+dcr6mZmZbNiwgRkzZpCXl8fzzz/PK6+8AsD8+fN55plniIuL48knnyQlJYWWLVvy9ttvM2TIEHr37s3rr7/OqlWrGDRoUB0c7s/TBXnoJQvRGz6BmFjUnQ+jegxAGec4UNuTAJvWoauqUGFhdVOsEEL4Ua3vcrGxsSQlJQEQGRlJixYt8Hq9Z1w/PT2dXr16ER4eTrNmzUhMTGTv3r3s3buXxMREEhIScLlc9OrVi/T0dLTWZGRk0KNHDwD69+9Penq6nw7v7OjKSsyP3sd8eix64xrUL2/CeOFPGL0GnnsQgBUGpgl58mQnIURwOKe2mKysLA4cOEDbtm3ZuXMnH3/8MWvXriUpKYlRo0YRHR2N1+ulXbt21a9xu93V4REX92N7e1xcHHv27KGwsJCoqCjCjn+CPnn9n0pLSyMtLQ2AqVOn4vF4zu1oa+A7kkn+8+Mxj2TS4KpriB79IK6LWl7QNivatCcPiKkoJcIPNQoR7Fwul1/OV1F3zjoMysrKmD59OqNHjyYqKopBgwYxfPhwAN59910WLlzIuHHj6qxQgNTUVFJTU6t/9sczVc13/4zOzcJ45Dl8l3cl39rwBW1ThzcEIH/fbozmrS+0RCGCnjwD2Tku6BnIPp+P6dOnc80113D11VcD0LRpUwzDwDAMBg4cyL59+wDrk31ubm71a71eL263+7Tlubm5uN1uGjduTElJCVVVVaesHwi6vBy9cS2qW2/U5V39t2F3vDVHUY50LxVCBIdaw0BrzauvvkqLFi244YYbqpfn5eVV/3njxo20atUKgJSUFDZs2EBlZSVZWVkcOXKEtm3b0qZNG44cOUJWVhY+n48NGzaQkpKCUopOnTrx+eefA7B69WpSUlL8fZw1H9uX66G0BHXNdX7drgoLg1gP5Bz163aFEKKu1NpMtGvXLtauXcvFF1/MY489BljdSNevX8/BgwdRShEfH8+9994LQKtWrejZsyfjx4/HMAzuvvtujOM3Ye+66y4mT56MaZoMGDCgOkBuv/12Zs2axaJFi7j00ku59tpr6+p4T6HXr4RmzaFdJ/9vPD5RxhoIIYKG0lpru4s4X4cPHz7v1+qjhzD/7z7UsDswBt/kx6os5pt/QH+VTtj0hX7fthDBRu4ZOMcF3TMIRXp9mjW9RK86ugrxJMCxfHR5Wd1sXwgh/KhehoH2+ayBZV26o2Ji62Yn1RPWyU1kIYTz1cswYPsmOJaP0ce/N45PpmT2UiFEEKmXYWCuS4MYN1xxZd3tJP74cw2kR5EQIgjUuzDQ+bnw1SZUr2vrdt6gxk0hooFcGQghgkL9C4MNq0CbqD6pta98AZRSMpW1ECJo1Ksw0KaJXrcSOnRGNau5e5VfeRIgW5qJhBDOV6/CgD0ZkH20zq8KTlDxiZCTRRAP5RBC1BP1Kgz0f1ZAZCNUt16B2aGnGZSXQlFhYPYnhBDnqd6EgS4uQm/+DHV1P1REg4DsU7qXCiGCRf0Jg41roLICVYdjC07jSbT2Ld1LhRAOV3/CYN1KuDgJdUmbwO1UrgyEEEGiXoSB/nYffLc/sFcFgGoYCdFNJAyEEI5XP8Jg3UoIj0Bd1S/wO49PREv3UiGEw4V8GOiKcvQXa1DdeqIaRQd8/8qTIFcGQgjHC/0w2LwBSosD3kRUzdMMvNlos8qe/QshxFkI/TBYlwbxidD+CnsK8CRCVRXk5da+rhBC2CSkw0BnHYZdX6N6p6IMew5VxhoIIYJBaIfBujRQBqr3QPuK8JyYylrCQAjhXCEbBrqqypqhtPOVqKZx9hXijgdlyIR1QghHC9kwYPuXUODFuMamG8fHKZcL3B5pJhJCOFrIhoG5biU0aQpXpNhdijzXQAjheCEZBjrfC1+lo3pea30yt5nyNJMrAyGEo4VmGHz2KZimfWMLfsqTCAV56IpyuysRQogahVwYaK2t6SfaXY5KbGF3OZYT3Utzs+ytQwghziDkwoA9GZB1GNVnkN2VVKseayA9ioQQDhVyYaDXrYTIKNSVve0u5UfxJ55rIPcNhBDOFFJhoEuK0V+uR3Xvi2oQmKeZnZUmTSEiQm4iCyEcK7TCYONaqKhA2Ty24KeUUhAn3UuFEM4VWmGwbiW0bA2XtLW7lNN5EiBbwkAI4UwhEwb6u/3w7V5Un0HWJ3GHUZ4EyP0BrbXdpQghxGlCJwzWrQRXOKqHDU8zOxueBCgtgZIiuysRQojThEQY6MqKk55m1tjucmqkjvcoku6lQggnCo0w2PwZlBQ5Z8RxTeS5BkIIBwuNMFi30nqz7dDZ7lLOTJ5rIIRwsKAPA519FHZ+ZevTzM6GioyC6MbSo0gI4UjOffc8S9VPM+tl49PMzpaMNRBCOFSt8zvn5OQwZ84c8vPzUUqRmprK9ddfT1FRETNnziQ7O5v4+HgeeeQRoqOj0VqzYMECtmzZQoMGDRg3bhxJSUkArF69miVLlgAwbNgw+vfvD8D+/fuZM2cOFRUVdO3alTvvvPOsuodaTzP7BK7ohnJ7LuCvITCUJwH9/QG7yxBCiNPUemUQFhbGyJEjmTlzJpMnT+bjjz8mMzOTZcuW0blzZ2bPnk3nzp1ZtmwZAFu2bOHo0aPMnj2be++9l3nz5gFQVFTE4sWLmTJlClOmTGHx4sUUFVndLN944w3GjBnD7NmzOXr0KFu3bj276jM2Q34uRp/U8zr4gItPhNwstFlldyVCCHGKWsMgNja2+pN9ZGQkLVq0wOv1kp6eTr9+Vp/+fv36kZ6eDsCmTZvo27cvSinat29PcXExeXl5bN26lS5duhAdHU10dDRdunRh69at5OXlUVpaSvv27VFK0bdv3+pt1cZctxIax0CX7ud7/IHlSYAqH+R77a5ECCFOcU6PAcvKyuLAgQO0bduWgoICYmNjAWjatCkFBQUAeL1ePJ4fm2zi4uLwer14vV7i4n58ML3b7a5x+Yn1a5KWlkZaWhoAU6dOha/Sibrhf2iceNG5HIZtytu0Ix+IqSwjwuP8Zi0h/MXlcp3yviCc56zDoKysjOnTpzN69GiioqJO+Z1SKiBTQKSmppKaelKTUFUVZVf2oTwnp8737Q86IhKA/L27MRJa2VyNEIHj8XjICZLzNNQ1b968xuVn1ZvI5/Mxffp0rrnmGq6++moAYmJiyMvLAyAvL48mTZoA1if+k//Rc3NzcbvduN1ucnNzq5d7vd4al59Y/6y0vQx1UcuzW9cJ3PGglAw8E0I4Tq1hoLXm1VdfpUWLFtxwww3Vy1NSUlizZg0Aa9asoXv37tXL165di9aa3bt3ExUVRWxsLMnJyWzbto2ioiKKiorYtm0bycnJxMbGEhkZye7du9Fas3btWlJSUs6qeEePOK6BcoVDbJyEgRDCcWptJtq1axdr167l4osv5rHHHgPg1ltvZejQocycOZNVq1ZVdy0F6Nq1K5s3b+ahhx4iIiKCcePGARAdHc1NN93Ek08+CcDw4cOJjo4G4De/+Q1z586loqKC5ORkunbtelbFO+ppZmfLk4jOkfmJhBDOonQQz6l8+PBhu0s4Z+aCV9A7thD20l/sLkWIgJF7Bs5xQfcMhB95EiDfi66ssLsSIYSoJmEQaCdmL83NsrcOIYQ4iYRBgKn442EgE9YJIRxEwiDQZCprIYQDSRgEWpNYcIVL91IhhKNIGASYMgzwJEj3UiGEo0gY2MGTIFcGQghHkTCwgZIwEEI4jISBHeIToKQYXVxkdyVCCAFIGNhCnRhrIFcHQgiHkDCwg4SBEMJhJAzs4EkEkB5FQgjHkDCwgYpqBFHRcmUghHAMCQO7eBJkFLIQwjEkDOwSnyDzEwkhHEPCwCbKkwC5P6BN0+5ShBBCwsA2ngTw+aAgz+5KhBBCwsAu6niPIrKlR5EQwn4SBnaRqayFEA4iYWCXuGaglHQvFUI4goSBTVR4ODSNkzAQQjiChIGdPM1kFLIQwhEkDGxkTWWdZXcZQgghYWArTwLk56IrK+2uRAhRz0kY2MmTCFpDrlwdCCHsJWFgI3mugRDCKSQM7CRjDYQQDiFhYKembnC5QHoUCSFsJmFgI2UYECdTWQsh7CdhYDdPM+leKoSwnYSBzVR8okxWJ4SwnYSB3TwJUFKELim2uxIhRD0mYWAz6V4qhHACCQO7nXiugfQoEkLYSMLAbjLWQAjhABIGNlONoiGykTQTCSFsJWHgBPEJaOleKoSwkau2FebOncvmzZuJiYlh+vTpALz33nt88sknNGnSBIBbb72Vbt26AbB06VJWrVqFYRjceeedJCcnA7B161YWLFiAaZoMHDiQoUOHApCVlcWsWbMoLCwkKSmJBx98EJer1rJCiycBDn9vdxVCiHqs1iuD/v3789RTT522fMiQIbz00ku89NJL1UGQmZnJhg0bmDFjBk8//TTz58/HNE1M02T+/Pk89dRTzJw5k/Xr15OZmQnA22+/zZAhQ/jDH/5Ao0aNWLVqlZ8P0fmUJwFys9Ba212KEKKeqjUMLr/8cqKjo89qY+np6fTq1Yvw8HCaNWtGYmIie/fuZe/evSQmJpKQkIDL5aJXr16kp6ejtSYjI4MePXoAVvCkp6df2BEFI08iVFZAQZ7dlQgh6qnzbo/5+OOPWbt2LUlJSYwaNYro6Gi8Xi/t2rWrXsftduP1egGIi4urXh4XF8eePXsoLCwkKiqKsLCw09avSVpaGmlpaQBMnToVj8dzvuU7SnlSO/KBmMoyIkLkmIQ4mcvlCpnzNVSdVxgMGjSI4cOHA/Duu++ycOFCxo0b59fCapKamkpqamr1zzk5OXW+z0DQEZEA5O/bhRHf3OZqhPA/j8cTMudrsGvevOb3mPPqTdS0aVMMw8AwDAYOHMi+ffsA65N9bm5u9Xperxe3233a8tzcXNxuN40bN6akpISqqqpT1q93PM2s79K9VAhhk/MKg7y8H9u2N27cSKtWrQBISUlhw4YNVFZWkpWVxZEjR2jbti1t2rThyJEjZGVl4fP52LBhAykpKSil6NSpE59//jkAq1evJiUlxQ+HFVxUeIT1bINsCQMhhD1qbSaaNWsWO3bsoLCwkLFjx3LzzTeTkZHBwYMHUUoRHx/PvffeC0CrVq3o2bMn48ePxzAM7r77bgzDypu77rqLyZMnY5omAwYMqA6Q22+/nVmzZrFo0SIuvfRSrr322jo8XAfzyHMNhBD2UTqI+zMePnzY7hL8xpw/E717O2G/n293KUL4ndwzcA6/3jMQdcCTAHk5aF+l3ZUIIeohCQOn8CSA1uDNtrsSIUQ9JGHgEPJcAyGEnSQMnCL++FTW0qNICGEDCQOnaOqGMJdcGQghbCFh4BDKCIO4eAkDIYQtJAycxJOIzpbHXwohAk/CwEGsqazlykAIEXgSBk7iSYCiQnRZid2VCCHqGQkDB1Hx0r1UCGEPCQMnOTHWQLqXCiECTMLASY6HgUxYJ4QINAkDJ2nUGCKjpJlICBFwEgYOopSCuATpXiqECDgJA6fxJMiVgRAi4CQMHEbFW2MNgvgxE0KIICRh4DSeBKiogGP5dlcihKhHJAwcRqayFkLYQcLAaeITAeleKoQILAkDp4lrZn2XHkVCiACSMHAYFdEAYmKlmUgIEVASBk7kSZBmIiFEQEkYOJCSsQZCiACTMHAiTwJ4c9A+n92VCCHqCQkDJ4pPBG1CXo7dlQgh6gkJAweqHmsgPYqEEAEiYeBEMpW1ECLAJAycKDYOwsLkJrIQImAkDBxIGWHgjpcwEEIEjISBU8lYAyFEAEkYOJSMNRBCBJKEgVPFJ0JhAbqs1O5KhBD1gISBU8lU1kKIAJIwcCh5roEQIpAkDJzKI881EEIEjoSBU0U3hgaRcmUghAgICQOHUkqBp5lcGQghAsJV2wpz585l8+bNxMTEMH36dACKioqYOXMm2dnZxMfH88gjjxAdHY3WmgULFrBlyxYaNGjAuHHjSEpKAmD16tUsWbIEgGHDhtG/f38A9u/fz5w5c6ioqKBr167ceeed1huhsHoUyfxEQogAqPXKoH///jz11FOnLFu2bBmdO3dm9uzZdO7cmWXLlgGwZcsWjh49yuzZs7n33nuZN28eYIXH4sWLmTJlClOmTGHx4sUUFRUB8MYbbzBmzBhmz57N0aNH2bp1q3+PMIgpTwJkH0VrbXcpQogQV2sYXH755URHR5+yLD09nX79+gHQr18/0tPTAdi0aRN9+/ZFKUX79u0pLi4mLy+PrVu30qVLF6Kjo4mOjqZLly5s3bqVvLw8SktLad++PUop+vbtW70tgdW9tKIcCgvsrkQIEeJqbSaqSUFBAbGxsQA0bdqUggLrzcrr9eLxeKrXi4uLw+v14vV6iYuLq17udrtrXH5i/TNJS0sjLS0NgKlTp56yr1BUntSefKCpr5zwED9WEdpcLlfIn6/B7rzC4GRKqYC18aemppKamlr9c05OaD/8RUdEApC3ZyeGO8HmaoQ4fx6PJ+TP12DRvHnzGpefV2+imJgY8vLyAMjLy6NJkyaA9Yn/5H/w3Nxc3G43breb3Nzc6uVer7fG5SfWF8d5mlnfD31rbx1CiJB3XmGQkpLCmjVrAFizZg3du3evXr527Vq01uzevZuoqChiY2NJTk5m27ZtFBUVUVRUxLZt20hOTiY2NpbIyEh2796N1pq1a9eSkpLiv6MLcqpBQ+icgl6xFP3NNrvLEUKEMKVr6aoya9YsduzYQWFhITExMdx88810796dmTNnkpOTc1rX0vnz57Nt2zYiIiIYN24cbdq0AWDVqlUsXboUsLqWDhgwAIB9+/Yxd+5cKioqSE5O5q677jrrZqfDhw9fyLEHBV1SjDltInizMZ74ParFJXaXJMQ5k2Yi5zhTM1GtYeBk9SEMALQ3G/PFx8AwMJ58CdU0rvYXCeEgEgbO4dd7BiKwlDse48HfQnEx5h+el2mthRB+J2EQJNTFSRhjH4fMg5ivv4SuqrK7JCFECJEwCCLqiitRt98HX29C/+01GZkshPCbCx5nIALL6PsLzJwf0MsXgycBNfgmu0sSQoQACYMgpIaOgNws9JI3MePiMa7qa3dJQoggJ2EQhJRhwOiH0fm56AWz0E3jUO072V2WECKIyT2DIKXCwzHGPQWeBMw5k9FHMu0uSQgRxCQMgphq1BjjoUkQFoY5+zn0sTy7SxJCBCkJgyCn4hOtMQjH8jD/OBldXm53SUKIICRhEALUpe0w7pkAB/dgznsZbcoYBCHEuZEwCBEquQfqf+6BrV+g3/uz3eWcF21WydgJIWwivYlCiDHwBmsMQto/MD3NMFJvtLukWmmt4du96HUr0RvXQofOGGOeQLnkv6YQgSRnXIhR/30n2puFfu/PaHc8qlsvu0uqkS4uRH++Br1uBWQehIgIaH+FdWWz4BW4+xGrC60QIiAkDEKMMgyMu8djTn8Gc94MjEfdqDYd7S4LAG2asOtr6ypg82fgq4RL2qJuH4u6qi8qKhpz+fvoJW9CZCTcfl/AnqIX7HRZCTSIlL8vcd5kCusQpQsLrGmvS0usaa+bXWRfLd4c9IZP0OvTIOcHiGqEuro/qs91qIuTTlvfXPImevn7qME3YQy7w4aKg4c2TfTKZeilb8FlyRgjxqHi4u0u6zQyhbVzyPMM6iF99BDm1MehUWOMJ6ehopsEbt++SvgqHXNdGmzfDNqEjl2sAOjWExUecebXao3+65/Qaz5CDRuFMXh4wOoOJrroGOaCV+CrdOjQGQ7sBmWght+B6vtLRzWzSRg4h4RBPaX37sCc/n/Qui3G+Od/9k3YL/s7kmk1A322CgoLoGkcqvdAVO9UVHzi2W/HNNHzZ6I3rkHdfh9G/8F1WHXw0ft2Yr4+DQryUTffhRowBHJ+wHxrDnyzDdpfgTHqAVRCzSd+oEkYOIeEQT2mN63DfG0aKqUP6p4Jfv/EqMvL0JvWodethL3fQFgYdOmOcc0g6NQVZYSd33Z9Psw/vQhfb0LdPR7j6n5+rTsYaa2tZqElCyHWgzHmcVTrdqf+ft1K9N8XgK8SdePtqOt+dd7/Bv7i1DDQ2UfRn61CDfo1qmGk3eUEhIRBPWd+vAS9+C+o1F+hegwA0wSzymq+MU/+qjr1Z21aN35/us6J1323H53+HygrhcQWqD6DUD37o5rE+qVuXVGOOft3sCcDY9xTqP+6yi/bDUa6uAhzwSzYthG69sAY/RAqKrrmdfNyMf/6J2vd1u2sdW18frYTw0D/cBjz5achPxfV/Rrrg1I9uAEvYVDPaa3Rf3sVvXq5fzcc0QDVvQ+qz3XQ5rI6OZl0WYnV1JV5EON/n0V16Oz3fTid3r8L8/WXIN+LGj4aNfD/1fp3rbVGp/8H/c7rUFqCuv6/UdcPR7nCA1T1j5wWBvpIJub0Z6DKh7qyl3V/6n/uDoqxORdKwkBY01Ts/AoqykGFgWGc9PXTnw1QRu3rRDaq8/sQcPxm6bQnwZuD8egLqEvb1f6iEKC1Rn/yT/TiN6Gp22oWurT9uW2jsAC96A1rUF+LSzDueCjgf39OCgN96FsrCJTCGP8CNG+FOfdF+GojxqOTQ346eAkDEfR0fq4VCCXFGI9NsbXZIxB0cRHmX2bD1s8h+WqM0Q+jGtXcLHRW29u2EfPtudZN50E3on51GyqigR8rPjOnhIH+/gDmjP8Dl8v6UJHY0lpeUow5ZQKUlWA8MxPV1G1zpXVHwkCEBJ19FHPaRNBgPP6ireMn6pI+sAfztd9b7dk3jbbu9fihCU6XFKEX/wX9nxXQ7CKMOx5Etb/CDxX/PCeEgf52L+aM30KDhhgTXkA1O/VNUR/6DnPKo3BxknWFEKJTopwpDJzTEVmIs6DiEzEe+R1UVWLO/C06L9fukvxKa435yb8wf/8EaI3x2IsY193ot3sxKioaY9QDGOOfB9PEfOkpzL/+yRrBHML0gd3WfafIKOuqstnpb4iqxcWoOx6Evd+gFy+woUp7yZWBCEr64B6r3TfWg/HYi6jGgRtQV1d0STHmm3+AzRvgv67CuPNhVKPGdbe/8jL0srfRn3wAsXEYI+9HXXFlnezLzisDvfcbzFeehcYxVtNQXLOfXd98dx467Z+o3zwakt2ZpZlIhBy9a7t1kje/2DrJI6PsLum86W/3Yr42DbzZqGGjUNcNDVg3R71vpxVCR75H9RyA+p/f+D2E7AoDvXs75uznISbW+j/i9tT+Gp/P+qDx3T5rKpeWreu+0ACSMBAhSX+Vjjl3CrS5DOPhSQG7IeovWmv06g/R782HJk0x7n3clokFdWUl+l/voj9aDNFNMG4bA916+S2Q7AgD/c02zD++AO54KwjO4aawzvdivvCIdX/h6RmoqEZ1WGlgSRiIkGV+sQY9fwZccaU1MC1IbvzpkmL0wj+iv1wPnVMw7vrfgM4fVWNN3+3HfHM2fLcf2l6GMewOVLvLL3i7gQ4DnbEFc85k6yb5+N+d1yBIvWcH5vSnrX+b+5501FxPF0LCQIQ0c81H6LfnWiNJfzPe9ukXfo6urIC931jzCOVm/dgs5JA3G+3zWVNa/GsRFORZU4v8euQFNZcEMgz015usq8XEVtZ8XBdwP8n85AP0ojdQvx6Jcf1/+7FK+5wpDILjI5QQtTD6/RKztBj9/psQGQUjxjliagGtNXhz0Pt3wr6d6P27rE/dVT5oGmf1bGl74Z+8/Um5XKj+g9E9B6A/+QD90RLM3z1sTTt+420oT4LdJZ6R3vo55qvToGVrjEeeu+B7H+raG2D/LvSyv6Jbt0Vd3tVPlTqPXBmIkGIuWYhevhj1i19b/fMDHAi6ohy+3Yfev+t4AOyCAq/1y4gI62E+SR2t+wIduwTFTW9dXIhe/j561b/ANFH9B1tTWzRpetbbCMSVgf5yA+YbL8HFbaxpS84wb9M5b7e8zHo2SIHXGpBWS28kp5NmIlEvWHMwvYZe/SFq6AjUL29ChdVNk5HWGnKz0Pt2woHd1vfvD1if+gHiE1GXdoA2Haw3/xatg+Z+Rk20Nwf9r0XWQ4rCG1ijmAcNRTWsPdDqOgzMjWut+0aXtsd4+Fm/h6z+4TDm5PHQrDnGE1MDMgVLXZEwEPWGNk30glnoz1dbCxo0hIZRVvPRia+GUdYbRvVXI2gYafUa+em6kY0gogFUVsDBvej9O9H7dsGBXVabOli/b90O1aYDKqkDJHXw28ytTqOPZGIue9saDxHdBDXkZlS/wajwM0+AV5dhYH7+KfrPr0C7yzAe/G2dTUWtt36OOWcK6ppBGKMeqJN9BIKEgahXtM+H/vxTyMuF0mJriu2SYmukbelPvspLa9/giZu7pml9j0+0Pu0ndbTe/Fu2rrMrEKfSB/ZgLnnTmvwwrpk111GPfjXevK+rMDDXp6Hf/AN07IJx/9OoBg39vo9T9rf0LfSHf0eNesB6XkcQkjAQ4gy0WWWFRWmpFRylJVBWgi45HiKlxdbvDGU9SCapA6pxjN1lO4LWGr7Zivn+QvhunzUr6q9HQpfup9yvqYswMNd+hH5rLnTqanUpDsAYE21WYc56FvbssJqLWgff7LkSBkKIOqNNE/3lBvSytyDryGljFPwdBuaqf1nPaeicgnHfxIC24evCY9aANLBuKAfZVCgSBkKIOqd9PvT6NPQHi6xeVMfHKMQnp5wxDLRpgq/yx6/K41++Cqj0WfdqTiz3VaK/24f+8O+Q3ANjzGO2PKxHH9iDOe0JaN8Z4+HfOnpcy0/VSRjcf//9NGzYEMMwCAsLY+rUqRQVFTFz5kyys7OJj4/nkUceITo6Gq01CxYsYMuWLTRo0IBx48aRlJQEwOrVq1myZAkAw4YNo3///me1fwkDIZxJl5ejV32AXv4+lJXguqQtvory42/sP3mDP9H76hyoK3ujfvOorb2zzP+sQC/8I2rIzRhDR9hWx5noqir44RA68yBkHrS+HzpIq7c+qnH9C/6bnDRpEk2a/HiZtGzZMjp37szQoUNZtmwZy5YtY8SIEWzZsoWjR48ye/Zs9uzZw7x585gyZQpFRUUsXryYqVOnAjBx4kRSUlKIjvZPH2EhROCpBg1Qg4ej+/4CvWIZxg+HQGN9ig8//uWKgHAXuMIhPOL493Druyvcavo5eVn48fUjGkD8RbYPKjSuGYS5fxf63++hW7dDJV9tWy36WP6Pb/iZB9GHDsLh763ABQgLg8SWqLZnfoqb32M1PT2dZ599FoB+/frx7LPPMmLECDZt2kTfvn1RStG+fXuKi4vJy8sjIyODLl26VL/5d+nSha1bt9KnTx9/lyaECDDVqDHq1yOJdcDDbeqCum2M9fS0P8+0JrRLqLkJxl90ZSUc+b76U/6JN3+O5f+4UowbWl6CGvhfVi+3lq2tIKilOe2Cw2Dy5MkAXHfddaSmplJQUEBsrNW/umnTphQUFADg9XrxeH6cPjYuLg6v14vX6yUuLq56udvtxuv1XmhZQghR51R4BMbYJzBfGI/5pxetKa8vsHur9lVCQT4cy4N8L/po5o+f+o9m/ti92RUOLS5Bdb7SetNv0dr6fp493S4oDJ5//nncbjcFBQW88MILp92YUEr59VIuLS2NtLQ0AKZOnXpKuAghnMvlcoXu+erxUD7hd+T/bjwR782jyf9OOu19T2uNLi3BzMvBzPNi5uVQlZeLmZeLmW99r/LmYOZ70YUFp+3CiE8kvHVbwnsNwNW6La5L2hB2UUtUmP8ady5oS263NT94TEwM3bt3Z+/evcTExJCXl0dsbCx5eXnV9xPcbvcpl4m5ubm43W7cbjc7duyoXu71ern88pon7kpNTSU1NbX651C87BQiFDnhGch1qmUb1I23U7bsbcqrTIhogD6WZ41QP/FVUX7661wuq1mnSVOIS0C16WiNXI+JRcVY32l2ESoqmiqg6uTX5uWfV6l+n7W0rKwMrTWRkZGUlZXx1VdfMXz4cFJSUlizZg1Dhw5lzZo1dO/eHYCUlBQ++ugjevfuzZ49e4iKiiI2Npbk5GTeeecdioqKANi2bRu33Xbb+ZYlhBC2UIOHw6FvrbmbohrBiTf1SztATFPrTT+mKSrGbb3Jx8RCVLTtN8JPOO+upT/88AMvv/wyAFVVVfTp04dhw4ZRWFjIzJkzycnJOa1r6fz589m2bRsRERGMGzeONm3aALBq1SqWLl0KWF1LBwwYcFY1SNdSIYJDyF8ZnERXVv7sPE12k0FnQgjb1KcwcLozhYEzHq0khBDCVhIGQgghJAyEEEJIGAghhEDCQAghBBIGQgghkDAQQghBkI8zEEII4R9Be2UwceJEv23rtdde89u2nL49J9fm9O05uTZ/b8/ftfnzfAVnH2uwbi9ow8CfrrzyynqzPSfX5vTtObk2f2/P37X5m5OPNVi3F7TNRBMnTqx+OpoQwtnkfHW+oL0yOHkqayGEs8n56nxBe2UghBDCf4L2yiDUbNy4kZtvvplDhw7ZXUrAjBw58md//+yzz7Jv374AVVM3cnNzmTZtGg899BAPPvggCxYswOfznXH9f//735SX1/AQFOE4oXbOShg4xPr16+nYsSPr168/p9eZJ56HKhxHa83LL79M9+7dmT17Nq+88gplZWW88847Z3zNhx9+KGEQJELtnHV8GNT26TEUlJWVsXPnTsaOHVv9HysjI4NJkybx4osv8vDDD/P6669X/ycaOXIkCxcu5LHHHmP37t12ln7BMjIyTrmxOH/+fFavXm1fQX60fft2IiIiqh/WZBgGd9xxB59++illZWUsXLiQRx99lAkTJrB8+XI+/PBDvF4vzz33HM8995zN1Z+f+nC+Qmies/57mrI4b+np6SQnJ9O8eXMaN27M/v37Adi7dy8zZswgPj6eyZMns3HjRnr06EF5eTlt27Zl1KhRNlcufs7333/PpZdeesqyqKgoPB4Pq1atIjs7m2nTphEWFkZRURHR0dH8+9//ZtKkSdXPDhfOFIrnbFCEQVlZGdOmTaO4uBifz8ctt9xC9+7dycrK4sUXX6RDhw7s3r0bt9vN448/TkREhN0ln5P169dz/fXXA9CrVy/WrVvHlVdeSdu2bUlISACgd+/e7Ny5kx49emAYBj169LCzZHGBMjIy+MUvfkFYWBgA0dHRNlfkP6F+vkJonrNBEQbh4eFMmDCBqKgojh07xtNPP01KSgoAR44c4eGHH2bs2LHMmDGDzz//nL59+9pc8dkrKipi+/btfPfddyilqi8ru3XrdsbXhIeHYxiOb+E7K2FhYZzcoa2ystLGavyrZcuWfPHFF6csKykpqX4+eKgK5fMVQvecDYow0Frzzjvv8M0336CUwuv1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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "grouped_month.order_products.sum().plot()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**前三个月的产品购买数量比较多，后面每个月的产品购买数量比较稳定**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYMAAAEXCAYAAABPkyhHAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAAAxPklEQVR4nO3deXxU9b3/8dd3MkkgCyEzk2EHDYsIgkGCBlSIGG+v0vuTS/151aJirYpRKCoqLtel94roryyCcNVKsS7V3lrBumAxxoQCRQMBhCC7KKtZJoRM9pn5/v44YQDZk8mcM8nn+Xj4mORk5pzPtJx5z/me76K01hohhBBtms3sAoQQQphPwkAIIYSEgRBCCAkDIYQQSBgIIYRAwkAIIQRgP9MTFixYQGFhIUlJScycOROAt956i7Vr12K32+nUqRPZ2dnEx8cDsHjxYnJzc7HZbNxxxx2kpaUBsH79ehYtWkQgEODqq69m7NixABQXFzNnzhwqKytJTU1l0qRJ2O1nLEsIIUQInfHKIDMzk8cff/y4bYMHD2bmzJn87ne/o0uXLixevBiAvXv3smrVKmbNmsUTTzzBwoULCQQCBAIBFi5cyOOPP87s2bNZuXIle/fuBeDtt99mzJgxzJs3j/j4eHJzc1vgbQohhDidM4bBgAEDSEhIOG7bxRdfTFRUFAD9+vXD4/EAUFBQwIgRI4iOjsbtdtO5c2d27NjBjh076Ny5M506dcJutzNixAgKCgrQWlNUVERGRgZgBE9BQUGo36MQQogzaHZ7TG5uLiNGjADA4/HQt2/f4N8cDkcwKJxOZ3C70+lk+/btVFZWEhcXFwyWY59/Mjk5OeTk5AAwY8YM6uvrm1u+ECIM7HY7Pp/P7DIEEBMTc9LtzQqDDz74gKioKK688srm7OasZWVlkZWVFfy9tLQ0LMcVQjSPy+WS89UiunbtetLtTe5NlJeXx9q1a5k8eTJKKcD4Zl9WVhZ8jsfjweFwnLC9rKwMh8NBYmIi1dXV+P3+454vhBAivJoUBuvXr+fDDz/k0UcfJTY2Nrg9PT2dVatW0dDQQHFxMQcOHKBPnz707t2bAwcOUFxcjM/nY9WqVaSnp6OUYuDAgaxevRowAiY9PT0070wIIcRZU2eatXTOnDls3ryZyspKkpKSuPHGG1m8eDE+ny94Y7lv377cfffdgNF09OWXX2Kz2ZgwYQJDhgwBoLCwkD/+8Y8EAgGuuuoqxo0bB8CPP/7InDlz8Hq9nH/++UyaNIno6OizKn7//v1NfuNCiPCRZiLrOFUz0RnDwMokDISIDBIG1hHyewZCCCFaDwmDENN+PzrgN7sMIYQ4JzLvQwhonw+2fINe8w/0utXQ/XyiHp5udllCCHHWJAyaSPv9sPUb9JqV6MJ/QlUltI+D+ET4fida62CXWyGEsDoJg3Og/X7Ytgm9ZoURAN7DENselXYpKv0KGDgEnbcU/b8LodprBIMQQkQACYMz0AE/bN9sBMDaVVBZAbHtUIOHoYZdCQOHoGKOjrXA6UYDlBZLGAghIoaEwUnoQAB2fNt4BbAKKsohJtYIgPQr4KKhqGMG2x3H5TYey36EXr3DV7QQQjSDhEEjHQjAri3GPYC1K+GQB6JjYFA6Kv0K1OB0VGy7M+/I2cnYX2kxcsdACBEp2nwY6Noa9EfvogtWQHkp2KNh0NDGABiGatf+3HYYFw/t2oOnpGUKFkKIFiBhsPSv6M8/hMHDUONuQ118Kap9XJP3p5Qy7huU/hjCKoUQomW16TDQvgb0imUwKJ2o+58M3Y5dnaCsOHT7E0KIFtamRyDrdavh8CFsmdeFdL/KkQJl0kwkhIgcbTsM8j41vsUPHBLaHbvcUFOFrvaGdr9CCNFC2mwY6H3fw7YiVOa1KFto/2dQjT2KKJWmIiFEZGi7YZC3FOzRqBFZZ37yuQqONZAwEEJEhjYZBrq2Gr36S6P7aGKH0B/AYYSBljAQQkSIthkGq/OhtgaVeW3LHCAhEWLbyZWBECJitLkw0FobN457pkLqBS1yjKNjDSQMhBCRoc2FATu+hX3fozKva9kppp1u8EgYCCEiQ5sLA523FNrHoy4d2aLHUU639CYSQkSMNhUG+vAh9NqVqBGjz27SueZwuaHai66uatnjCCFECLStMFjxOfh9qFEtdOP4GMrZ2L1UmoqEEBGgzYSBDvjR+Z9B/8GoLt1b/oBHwkCmpRBCRIA2EwZsLARPScjnITqlxjCQHkVCiEjQZsIgkPcpJDng4kvDc8DEJIiJMVY8E0IIi2sTYaCLD0BRIWrkv6Ds4Zm1WykFDjdamomEEBGgbYTB8s9AKdSVPwvvgV1uGYUshIgIrT4MdEM9emUOpGWgkp1hPbZyuqWZSAgREVp/GKxZCd5KbC01D9HpODuBtxJdWxP+YwshxDlo/WGQ9yl07gb9B4f/4M4U41HuGwghLK5Vh4H+YSfs2ooadW3LzkN0CsGBZ9JUJISwuNYdBnlLISYGNWK0OQW4jBXPZF0DIYTVnbGf5YIFCygsLCQpKYmZM2cC4PV6mT17NiUlJaSkpPDAAw+QkJCA1ppFixaxbt06YmNjyc7OJjU1FYC8vDw++OADAMaNG0dmZiYAu3btYv78+dTX1zNkyBDuuOOOkHyL19Ve9Ff5qEtHoeISmr2/JklMAnu09CgSQljeGa8MMjMzefzxx4/btmTJEgYNGsTcuXMZNGgQS5YsAWDdunUcPHiQuXPncvfdd/P6668DRni8//77TJ8+nenTp/P+++/j9RqLxf/+97/nnnvuYe7cuRw8eJD169eH5I3pf34J9XWocI04PgllsxkjkWUUshDC4s4YBgMGDCAh4fhv1gUFBYwaNQqAUaNGUVBQAMCaNWsYOXIkSin69etHVVUV5eXlrF+/nsGDB5OQkEBCQgKDBw9m/fr1lJeXU1NTQ79+/VBKMXLkyOC+msNYwGYpnN8P1at3s/fXLE63NBMJISyvScNxKyoqSE5OBqBjx45UVFQA4PF4cLlcwec5nU48Hg8ejwen82gff4fDcdLtR55/Kjk5OeTk5AAwY8aM4451rPqNayk/uJcOk/+T9qd4Trgc7t6T2tX5p6xViLbAbrfLOWBxzZ6bQSkVtp46WVlZZGVlBX8vLS096fP8H74L8Yl4+19M1SmeEy6BuET04UOU7NuHio01tRYhzOJyuU55vorw6tq160m3N6k3UVJSEuXl5QCUl5fToUMHwPjGf+z/4WVlZTgcDhwOB2VlZcHtHo/npNuPPL859KEyWLcadXkWKjqmWfsKicYeRbKugRDCypoUBunp6eTn5wOQn5/PsGHDgtuXL1+O1ppt27YRFxdHcnIyaWlpbNiwAa/Xi9frZcOGDaSlpZGcnEz79u3Ztm0bWmuWL19Oenp6s96QXr4MAgHUqH9t1n5CJTjWQG4iCyEs7IzNRHPmzGHz5s1UVlYyceJEbrzxRsaOHcvs2bPJzc0Ndi0FGDJkCIWFhUyePJmYmBiys7MBSEhI4Be/+AWPPfYYADfccEPwpvSvf/1rFixYQH19PWlpaQwZMqTJb0b7fOh//B0uugTl7tLk/YTUkXUNyooJ/7A3IYQ4O0prrc0uoqn2799/3O+6cBWB/5mB7f4nUeFat+AMdCBAIPsG1DXXY/vF7WaXI4Qp5J6BdYT0noFVBfKWgiMFBg01u5QgY6xBigw8E0JYWqsJA31wL3y7ATXyZyhblNnlHM/pRpfK/ERCCOtqPWGQ/xlE2VFXXmN2KSdQTjd4ZOZSIYR1tYow0HW16JVfoIaOQHVINrucEzndUFGOrq8zuxIhhDip1hEGXy+HmirMnIfotFyN3Uvl6kAIYVERHwbBeYi69YI+F5pdzkkpx5F1DSQMhBDWFPFhwO7t8MNOVKY5C9icFdeRsQZyE1kIYU0RHwb6y08htj0qI9PsUk6towOiomQUshDCsiI6DLT3MLrgH6jhV6HaxZldzikpW5Qx/kHGGgghLCqyw2DlF+BrQGVea3YpZ+ZIkXUNhBCWFdlhkL8U+g5AdetldilnpFxuuTIQQlhWRIcBJQexbHfSn3J2gkMedEOD2ZUIIcQJIjsMEpNQlww3u4qz40wxHsule6kQwnoiOgzUlf+CskebXcZZUc7GRW6kR5EQwoIiOwxG/szsEs6e6+i6BkIIYTWRHQZHVhGLBB2dYLPJlYEQwpIiOgwiiYqKgmSXrIUshLAkCYNwcrrRcmUghLAgCYMwUk4ZayCEsCYJg3Byuo2xBj4ZayCEsBYJg3ByuUEHoLzM7EqEEOI4EgZhFOz9JOshCyEsRsIgnJwy1kAIYU0SBuGU7AJlkxXPhBCWI2EQRspuh2QHyIpnQgiLkTAIN6dbmomEEJYjYRBmxlgDaSYSQliLhEG4Od1QXor2+82uRAghgiQMws3phkAAykvNrkQIIYIkDMJMuRrXNZD7BkIIC5EwCLfGFc/kJrIQwkokDMItOQWUknUNhBCWYm/Oiz/++GNyc3NRStGjRw+ys7M5dOgQc+bMobKyktTUVCZNmoTdbqehoYGXX36ZXbt2kZiYyJQpU3C7jRG5ixcvJjc3F5vNxh133EFaWloo3pslqehoSHJIM5EQwlKafGXg8XhYunQpM2bMYObMmQQCAVatWsXbb7/NmDFjmDdvHvHx8eTm5gKQm5tLfHw88+bNY8yYMbzzzjsA7N27l1WrVjFr1iyeeOIJFi5cSCAQCM27sypnijQTCSEspVnNRIFAgPr6evx+P/X19XTs2JGioiIyMjIAyMzMpKCgAIA1a9aQmZkJQEZGBps2bUJrTUFBASNGjCA6Ohq3203nzp3ZsWNH896VxSlnJ7kyEEJYSpObiRwOB//2b//GvffeS0xMDBdffDGpqanExcURFRUVfI7H4wGMKwmn0wlAVFQUcXFxVFZW4vF46Nu373H7PfKan8rJySEnJweAGTNm4HK5mlq+qbw9elG1dgXO5I6oqGa11AkREex2e8Ser21Fkz+JvF4vBQUFzJ8/n7i4OGbNmsX69etDWNqJsrKyyMrKCv5eWhqZffUDcYng91O6YzuqsXeREK2Zy+WK2PO1tenatetJtze5mWjjxo243W46dOiA3W7nsssuY+vWrVRXV+NvHF3r8XhwOByA8Y2/rMxY1MXv91NdXU1iYuJx23/6mtYquK6BNBUJISyiyWHgcrnYvn07dXV1aK3ZuHEj3bt3Z+DAgaxevRqAvLw80tPTARg6dCh5eXkArF69moEDB6KUIj09nVWrVtHQ0EBxcTEHDhygT58+zX9nVibrGgghLKbJzUR9+/YlIyODRx99lKioKM477zyysrK45JJLmDNnDu+99x7nn38+o0ePBmD06NG8/PLLTJo0iYSEBKZMmQJAjx49GD58OA8++CA2m40777wTm62VD3840jQkU1kLISxCaa212UU01f79+80uocn8UyegBg3Fdvsks0sRosXJPQPrCPk9A9FMMtZACGEhEgYmUU43lEozkRDCGiQMzOJyg6cU3dpHWwshIoKEgVkcbvD7oKLc7EqEEELCwCzKdWSsgTQVCSHMJ2FgFqexyI2WqayFEBYgYWCW4FgDCQMhhPkkDEyiYmIhMUnCQAhhCRIGZnJ1krEGQghLkDAwkTHWQMJACGE+CQMzOVPAUyJjDYQQppMwMJOzE/ga4PAhsysRQrRxEgYmOjrWQJqKhBDmkjAwk6xrIISwCAkDM8mKZ0IIi5AwMJGKbQcJHaRHkRDCdBIGZnO60TI/kRDCZBIGZnO6oazE7CqEEG2chIHJlMsNZcVE8OqjQohWQMLAbE43NNRD5SGzKxFCtGESBiZTjVNZS1OREMJMEgZma5zKWtY1EEKYScLAbE5Z8UwIYT4JA5Op9nEQnygDz4QQppIwsAJnClruGQghTCRhYAVON5RKM5EQwjwSBhagnJ1krIEQwlQSBlbgckN9HXgrza5ECNFGSRhYgGrsXio9ioQQZpEwsILgwDPpUSSEMIeEgRXIwDMhhMnszXlxVVUVr7zyCnv27EEpxb333kvXrl2ZPXs2JSUlpKSk8MADD5CQkIDWmkWLFrFu3TpiY2PJzs4mNTUVgLy8PD744AMAxo0bR2ZmZrPfWCRRcQnQPl6uDIQQpmlWGCxatIi0tDQeeughfD4fdXV1LF68mEGDBjF27FiWLFnCkiVLGD9+POvWrePgwYPMnTuX7du38/rrrzN9+nS8Xi/vv/8+M2bMAGDatGmkp6eTkJAQkjcYMZxuWf5SCGGaJjcTVVdX8+233zJ69GgA7HY78fHxFBQUMGrUKABGjRpFQUEBAGvWrGHkyJEopejXrx9VVVWUl5ezfv16Bg8eTEJCAgkJCQwePJj169c3/51FmsaprIUQwgxNvjIoLi6mQ4cOLFiwgO+//57U1FQmTJhARUUFycnJAHTs2JGKigoAPB4PLpcr+Hqn04nH48Hj8eB0OoPbHQ4HHo/npMfMyckhJycHgBkzZhy3v0hX2b0XNVs34nQ6UUqZXY4QIWW321vV+doaNTkM/H4/3333Hb/61a/o27cvixYtYsmSJcc9RykV0g+2rKwssrKygr+XlpaGbN9mC8QlomuqKf1hNyo+0exyhAgpl8vVqs7XSNa1a9eTbm9yM5HT6cTpdNK3b18AMjIy+O6770hKSqK8vByA8vJyOnToABjf+I/9x1BWVobD4cDhcFBWVhbc7vF4cDgcTS0rYqkjs5dKjyIhhAmaHAYdO3bE6XSyf/9+ADZu3Ej37t1JT08nPz8fgPz8fIYNGwZAeno6y5cvR2vNtm3biIuLIzk5mbS0NDZs2IDX68Xr9bJhwwbS0tKa/84ijUumshZCmKdZvYl+9atfMXfuXHw+H263m+zsbLTWzJ49m9zc3GDXUoAhQ4ZQWFjI5MmTiYmJITs7G4CEhAR+8Ytf8NhjjwFwww03tL2eRBBc10CXlSB3DIQQ4aZ0BM+OduSqpDXQWhOYfBPq8ixsN91ldjlChJTcM7COkN8zEKGllDLGGshU1kIIE0gYWImrE8giN0IIE0gYWIhypMjAMyGEKSQMrMTlhpoqdLXX7EqEEG2MhIGFqCNTWctYAyFEmEkYWMmRRW48EgZCiPCSMLCSxisDWddACBFuEgZWkpAIse3kJrIQIuwkDCwkONZAwkAIEWYSBlbjlHUNhBDhJ2FgMcrplt5EQoiwkzCwGpcbqr3ommqzKxFCtCESBlbjODKVtVwdCCHCR8LAYpRLwkAIEX4SBlZzZF0DuW8ghAgjCQOrSUyCmBgZhSyECCsJA4tRSoHDLVcGQoiwkjCwIpeMNRBChJeEgQUppxvKZMUzIUT4SBhYkdMN3kp0bY3ZlQgh2ggJAytyHuleKktgCiHCQ8LAglQwDKSpSAgRHhIGVuRqXNdArgyEEGEiYWBFiUlgj5YrAyFE2EgYWJCy2Yz7BjLWQAgRJhIGViWL3AghwkjCwKKUM0UGngkhwkbCwKqcbqisQNfVmV2JEKINkDCwqsYeRTJhnRAiHCQMLOroWAMJAyFEy5MwsCpZ10AIEUYSBlaVlAxRdrkyEEKEhb25OwgEAkybNg2Hw8G0adMoLi5mzpw5VFZWkpqayqRJk7Db7TQ0NPDyyy+za9cuEhMTmTJlCm638e138eLF5ObmYrPZuOOOO0hLS2tuWRHPGGsgPYqEEOHR7CuDTz/9lG7dugV/f/vttxkzZgzz5s0jPj6e3NxcAHJzc4mPj2fevHmMGTOGd955B4C9e/eyatUqZs2axRNPPMHChQsJBALNLat1kLEGQogwaVYYlJWVUVhYyNVXXw2A1pqioiIyMjIAyMzMpKCgAIA1a9aQmZkJQEZGBps2bUJrTUFBASNGjCA6Ohq3203nzp3ZsWNHc8pqNYx1DSQMhBAtr1nNRG+88Qbjx4+npsaYd7+yspK4uDiioqIAcDgceDweADweD06nE4CoqCji4uKorKzE4/HQt2/f4D6Pfc1P5eTkkJOTA8CMGTNwuVzNKd/yvD3Po2rF5zg7JKJiYs0uR4gms9vtrf58jXRNDoO1a9eSlJREamoqRUVFoazplLKyssjKygr+XlpaGpbjmiXQPgGA0m1bUJ27neHZQliXy+Vq9edrpOjatetJtzc5DLZu3cqaNWtYt24d9fX11NTU8MYbb1BdXY3f7ycqKgqPx4PD4QCMb/xlZWU4nU78fj/V1dUkJiYGtx9x7GvaOuVwo8FoKpIwEEK0oCbfM7jlllt45ZVXmD9/PlOmTOGiiy5i8uTJDBw4kNWrVwOQl5dHeno6AEOHDiUvLw+A1atXM3DgQJRSpKens2rVKhoaGiguLubAgQP06dOn+e+sNXA1jjWQqayFEC0s5OMMfvnLX/Lxxx8zadIkvF4vo0ePBmD06NF4vV4mTZrExx9/zC9/+UsAevTowfDhw3nwwQd57rnnuPPOO7HZZPgDAB0dEBOD/ipf1kMWQrQopbXWZhfRVPv37ze7hBYXWPUF+o/zoFcfbJOeQiV2MLskIc6Z3DOwjlPdM5Cv4BZnG3E1tnsfg727Cbw4TZbCFEK0CAmDCKDSLsM25RmoKCfwwqPoA3vMLkkI0cpIGEQI1e8ibA9Ph4CfwAvT0Lu2ml2SEKIVkTCIIKrH+dgefQHi4gnMfBK9qdDskoQQrYSEQYRRKZ2NQOjUlcDL/03gq3yzSxJCtAISBhFIJSVjmzodevdHL5xF4IuPzS5JCBHhJAwilIqLN24qX3wZ+r3XCHz4DhHcS1gIYTIJgwimomOwTXwUdcU16I//jH77f9ABv9llCSEiULMXtxHmUlFRcNv9kJiEXvo+2nsY268fQkVHm12aECKCyJVBK6CUwjbuNtSNd0LhKgJzn0XXVptdlhAigkgYtCK2a65H3fkAbC8i8Lsn0YcPmV2SECJCSBi0MraMq7Dd9wQc+MEYnFYqM54KIc5MwqAVUoPSsT3wX+CtIDDjUfTe3SHdv9YaffgQeutG9LrV6N3bjd+lN5MQEUtmLW3F9L7vCcx5GurrsE36T1SfAef2eq2hwgP79xjzIe3fgz7wAxzYA97KE19gjwaHCxwpqGQXOFMg2YVypBz9uV37EL07EUlk1lLrONWspRIGrZwuKyYw+2nwlGC751HUxcNOfI7W4CmFAz+g9++BA0c//KmpOvrEuATo2hPVtYfx2KUHxCdAeSnaUwqeEvCUohsfOeQBHTj+YHEJRwPDkXJieDhSUEq18P8qItwkDKxDwqAN05UVBF56FvbsQt18DyrZZXzDP/KN/8BeqDtm8ZzEpKMf9l17BB9J7HhOH9Ta7zcCobzEmHrbU2r87CmFshIoL4Wqn1xh9OqD7fZJqB7nh+jdCyuQMLAOCYM2TtdWE1jwPHy74ejGjg7o0gPVtafx2KWH8RjGBXR0Xa0REp4S9IE96E//AtVe1M/GoX7+H6jomLDVIlqOhIF1SBgIdEMDFK2FhCTjG39cgtklnUBXVaL/9w/oVV9Ap27Ybr0PdcFFZpclmsnKYaADAVQbWmpXwkBEFL15PYG35kPpj6iRP0P9YgIqLt7ssixJB/zG1VVHB8puzZHnVgwDHfCjl7yDzluKbcJk1CXDzS4pLCQMRMTRdbXov/0J/fnfIKkjtlsmooZkmF2WqbTPZ9zg/2EnfL8TvWcX7PkO6mohJhb6DED1H4S6YBD06mNMV2IBVgsD7T1M4PczYfM6SHJA5SHUhN9gG36V2aW1OAkDEbH07u0E/jgP9u6GoSOw3XwPKinZ7LJanK6vg7270T/sgh92Go/7doPPZzwhtj30OB/Vqzd07g77f0Bv3Qj7fzD+3q499B2IumAQqv8g47k2c8LBSmGgf9hFYMF0qPCgbpmIGnal8fu3G1C3TMR21XVml9iiJAxERNM+H3rZYvRH70FMDOqGO1BXXNNquqHqmmrYs6vxG/8u4xv/gT0QaOyaG58IPVNRPVOhZ29Uz97g7nLStm5jQOAm2PqNEQ4H9xl/iIuHfhcdDYeuvcLWVm6VMAiszkO/9TLEJWK7dxoq9QIAdEM9gVdfhA1fo8bdhu3aG0yutOVIGIhWQR/cR+Ctl2FbEfQfjO3WbJT75P+4rUr7GmDnFmMd6x8aA6D4wNEndHRAj1RUr8YP/Z6pzRp/oQ+VNYbDRvSWb6DkoPGHhEToN+hos1KXHi0WrmaHgfb50O8vQn/xEfS7CNs9D6M6JJ/4nEUvob/OR117A+rfb201XzaOJWEgWg0dCKBXLEO//wb4fKjrb0FlXW+Z9vGf0lrDj/vQRevRRYWwbZPRxg/g6tT4TT81+MHf0k1guqwEvfUb2LLRuHLwlBh/6NDRCIULBqEGpKFSOofsmGaGgT5cbnzr31aEyvo/RmcE+8ln79cBP/qdV9DL/4666jrUTXe3up5GEgai1dHlZQT+9Aqs/wp6phqD1Xr2NrssAHSVF7ZsQBetQxetO/qB6+6CGjgENWCI0Z4fb273Xq01lP5oXDFsbQyHQx7jj2kZ2H5+I6pXn2Yfx6ww0Du3EHhlhjF25bZJ2C4bdebXaI1+/w30ssWo4Vehbp9s2S8aTSFhIFolrbWxhsOfXgXvYdS//Dvq325CxcSGtw6/H77bevTb/+4dxlQc7eOg/2DUwEtC/m27JRhXMfvRX+Wjcz+C6iq4aCi2n/8Hqnf/Ju/XjDAILP8M/e5r0NGJLfvxcxrVrrVGf/K/6A/fgUuGY/v11FazYJSEgWjVdJUX/Zc/oFfmgLsLttvuN5o8WvKYJQePfvPf+g3UVIOywfl9j377P79fxH6r1NVV6C8/Qed8aExMeOHF2Mb8R5MGAYYzDHRDA/rdV9H/WAYDh2C7ayoqPrFJ+wrkfIj+80JjP/c+jooN75eMliBhINoE/e0GY7BayUHUiKsh9QKw28EebbQTRxk/G9uO+Tkq+vjfg9vtwTZjXVNt9NA58u3/yI1YR4rx4T9wCPS/2PSmn1DTtTXo5Z+h/74YDh+CvgOwjfkPGJB21jdYwxUG2lNC4JUX4LttqOtuRF1/c7O70wb+sQz91nzofaEx+2+ED36UMBBthq6rQ3/0LvrzJUe7ZjZHVJQRIr4GY3+x7Rpvsg5BDUyDTt1aZa+Tn9L1deh/fI7+7K9wqAzO72eEwuD0M77/cISB3rqJwKsvQEM9tjumhHREcaDgH+iFs6DbedimPBvW+btCTcJAtDm6thpqa4xBWj6f8WHu90FD4+ORbT6f0d3T5wN/w3Hbj3tdTCyq/2BI7d9q2o+bQjc0oFd9gV76PpQVGzfvx9wIaRmn7HnTkmGgtUZ/8Tf0XxYZTYTZT6C6dA/9cb4pMK46XJ2wPfhbVEdnyI8RDhIGQoiQ0j6fcaP5079A8X5j2vPr/i9q2BUnNM20VBjoujr0my+jv843ej/9agqqfVzIjxM83taNBOb9N3RIwvbAby3fIeBkJAyEEC1CB/zoghXoT/7XGDXdqRvquhtQl44K9udviTDQJQeNaST2fY+6/pfGQLEwjAnQ320jMOcZiInB9uB/GVO/R5CQh0FpaSnz58/n0KFDKKXIysriuuuuw+v1Mnv2bEpKSkhJSeGBBx4gISEBrTWLFi1i3bp1xMbGkp2dTWpqKgB5eXl88MEHAIwbN47MzMyzqkHCQAjr0IEArFtN4OM/w97vwNXJ+IAeMZqUzl1CGgZ601pjojnAdtdDqIuGhmzfZ3X8vbsJzH4KAgHjHkIva4xvORshD4Py8nLKy8tJTU2lpqaGadOm8fDDD5OXl0dCQgJjx45lyZIleL1exo8fT2FhIZ999hmPPfYY27dv54033mD69Ol4vV6mTZvGjBkzAII/JyScuUeGhIEQ1qO1hm8KjFDYvR2SXbQfnkltfT0odcx/NlAYjyiwKeNRney/Y55bXorO/Ri69TLGD5jUVKN/3E9g1n9CTRW2yU+d8xrjzT6+328sS1tTbYwHafxZH/Pzke26ptrYVl1FjwXvnXR/Jx+TfRaSk5NJTjaGzbdv355u3brh8XgoKCjgmWeeAWDUqFE888wzjB8/njVr1jBy5EiUUvTr14+qqirKy8spKipi8ODBwQ//wYMHs379eq644oqmliaEMJFSCi6+FNvgYbB5PYFP/0Jt3mdoHYCABrQxIE/zk0dt/Hc2x7hsFOrW+1Cx7VryrZy+hk5dsT0yg8Cs/yQw+2ls9z1ujC1pIl1fZ/TSKi9Dl5c2LhNbBlWV6JN86AenNDmd2HbQPt4Y/BgXD6fpBdXkMDhWcXEx3333HX369KGioiIYEh07dqSiogIAj8eDy+UKvsbpdOLxePB4PDidR+/KOxwOPB7PSY+Tk5NDTk4OADNmzDhuf0IICxp1DYy6Brvdju/I1NtnoI+EwrHh0fioAwGUUqh27Vu07LPmcuF/4TUOPTsF37z/Jumh39Iu48QpL3RdLf7SYgJlxfjLSozH0mL8ZUe36cOHTnidSkjE1iEZFRePLSER5e6Cik/AFhePik80HuMSjG3xCajG323xiai4OFTU2X/ENzsMamtrmTlzJhMmTCAu7vi7+EqpkPa/zsrKIisrK/i7FabEFUKcWchvIHurQrevENBTfgsvPUPF/3uCw6N/DvX1xrf78qPf7k+QkAgdXeBwoXr2RiW7INmFSnbCkZ8bRzxrwH8uBdXVG/+dxKnuGTQrDHw+HzNnzuTKK6/ksssuAyApKYny8nKSk5MpLy+nQwfjssThcBz3j6GsrAyHw4HD4WDz5s3B7R6PhwEDwtv2JoQQzaHiE7A9+FsC//MCOudvkNABHC5wulF9Ljz64Z7sNLZ3dIZ9/qwzaXIYaK155ZVX6NatGz//+c+D29PT08nPz2fs2LHk5+czbNiw4PbPPvuMyy+/nO3btxMXF0dycjJpaWm8++67eL1eADZs2MAtt9zSzLclhBDhpdrFEfXAs2hfg2XXoj6dJvcm2rJlC0899RQ9e/YMNgXdfPPN9O3bl9mzZ1NaWnpC19KFCxeyYcMGYmJiyM7OpndvoztWbm4uixcvBoyupVdddXbrkEpvIiEig9mL24ijZNCZEMI0EgbWcaowaF1L+AghhGgSCQMhhBASBkIIISQMhBBCIGEghBACCQMhhBBEeNdSIYQQoRGxVwbTpk0L2b5effXVkO3L6vuzcm1W35+Vawv1/kJdWyjPV7D2e43U/UVsGITS0KGhXRjDyvuzcm1W35+Vawv1/kJdW6hZ+b1G6v4itpno2AVxhBDWJuer9UXslcGxU1kLIaxNzlfri9grAyGEEKETsVcGrc3XX3/NjTfeyL59+8wuJWxuvfXW0/79mWeeYefOnWGqpmWUlZXx4osvMnnyZCZNmsSiRYtOu+LXJ598Ql1dXRgrFE3V2s5ZCQOLWLlyJf3792flypXn9LpAINBCFYnm0lrzu9/9jmHDhjF37lxeeuklamtreffdd0/5mk8//VTCIEK0tnPW8mFwpm+PrUFtbS1btmxh4sSJwX9YRUVFPP300zz//PP85je/4bXXXgv+I7r11lt58803efjhh9m2bZuZpTdbUVHRcTcWFy5cSF5ennkFhdCmTZuIiYkJrs9hs9m4/fbb+fLLL6mtreXNN9/koYceYurUqSxdupRPP/0Uj8fDs88+y7PPPmty9U3TFs5XaJ3nbLPXQBbNV1BQQFpaGl27diUxMZFdu3YBsGPHDmbNmkVKSgrPPfccX3/9NRkZGdTV1dGnTx9uu+02kysXp7Nnzx7OP//847bFxcXhcrnIzc2lpKSEF198kaioKLxeLwkJCXzyySc8/fTTweVihTW1xnM2IsKgtraWF198kaqqKnw+HzfddBPDhg2juLiY559/ngsuuIBt27bhcDh45JFHiImJMbvkc7Jy5Uquu+46AEaMGMGKFSsYOnQoffr0oVOnTgBcfvnlbNmyhYyMDGw2GxkZGWaWLJqpqKiIn/3sZ0RFRQGQkJBgckWh09rPV2id52xEhEF0dDRTp04lLi6Ow4cP88QTT5Ceng7AgQMH+M1vfsPEiROZNWsWq1evZuTIkSZXfPa8Xi+bNm3ihx9+QCkVvKy85JJLTvma6OhobDbLt/CdlaioKI7t0NbQ0GBiNaHVvXt3vvrqq+O2VVdXB5eEba1a8/kKrfecjYgw0Frz7rvv8u2336KUwuPxUFFRAYDb7ea8884DIDU1lZKSEhMrPXdHToa77747uO3pp59my5Yt7Nixg+LiYlwuF//85z+5+uqrTay0ZbhcLvbu3UtDQwP19fVs3LiR/v37m11WSAwaNIg//elP5OfnM2rUKAKBAG+++SaZmZl07tyZzz//nIEDBx7XTNSuXTtqa2sjupmoNZ+v0HrP2YgIgxUrVnD48GFmzJiB3W7nvvvuo76+HjAS9wibzRbcHilWrlzJ9ddff9y2yy67jM8//5w+ffqwcOFCDh48yMCBA7n00ktNqjL0/H4/0dHRuFwuhg8fzkMPPYTb7T6hjT2SKaWYOnUqr7/+On/961/RWjNkyBBuvvlmbDYbBw4cYOrUqdjtdq6++mr+9V//laysLJ577jkcDgdPP/202W+hSVrz+Qqt95yNiDCorq4mKSkJu93Opk2bIvLbxKmc7IS/7rrr6NWrFx999NFJJ/h66623wlFai9qzZ0+wbXX8+PGMHz/+hOc888wzYa4q9Fwu1yknabv99tu5/fbbj9t27bXXcu2114ajtBbTms9XaL3nrKUbsY58e7ziiivYuXMnDz30EMuXL6dbt25mlyaaYdmyZbz00kvcdNNNZpciQkjO18hm6ekodu/ezauvvsrzzz9vdilCiDOQ8zWyWbaZaNmyZSxdupQJEyaYXYoQ4gzkfI18lr4yEEIIER6WvmcghBAiPCzTTLRgwQIKCwtJSkpi5syZgNEG+fvf/57a2lpSUlKYPHkycXFx+Hw+XnvtNXbu3InNZmPChAkMHDiQmpoannrqqeA+PR4PV155pVy6ChFioThfweiGunjxYpRSJCcnM2nSpIgeYxHRtEUUFRXpnTt36gcffDC4bdq0abqoqEhrrfUXX3yh3333Xa211kuXLtXz58/XWmt96NAh/cgjj2i/33/CPh955JHg64UQoROK89Xn8+k777xTV1RUaK21fuutt/Sf//znML8TcYRlmokGDBhwwvws+/fv58ILLwRg8ODBwaH9e/fu5aKLLgIgKSmJ+Pj44ERRx7728OHDwdcLIUInFOer1hqtNXV1dWitqa6uxuFwhPeNiCDLhMHJ9OjRg4KCAsAYAl5WVgbAeeedx5o1a/D7/RQXF7Nr1y5KS0uPe+2qVasYPnw4Sqmw1y1EW3Su56vdbueuu+5i6tSp3HPPPezbt4/Ro0eb+RbaNEuHwb333suyZct49NFHqampwW43bnFcddVVOBwOpk2bxhtvvMEFF1xwwiRQK1eu5IorrjCjbCHapHM9X30+H8uWLeOFF17g1VdfpWfPnixevNjkd9F2WeYG8sl069aNJ598EjAuQQsLCwFjpstjbwo/+eSTdO3aNfj77t27CQQCpKamhrVeIdqycz1fd+/eDUDnzp0BGD58OB9++GFYaxZHWfrK4MhMh4FAgA8++IBrrrkGgLq6OmprawH45ptviIqKonv37sHXrVy5kssvvzz8BQvRhp3r+epwONi7dy+HDx8O/k2mrjCPZQadzZkzh82bN1NZWUlSUhI33ngjtbW1/P3vfwfg0ksv5ZZbbkEpRXFxMc899xw2mw2Hw8HEiROPmx/+/vvv57HHHpN/WEK0kFCdr0dGLkdFReFyubjvvvtITEw08621WZYJAyGEEOaxdDOREEKI8JAwEEIIIWEghBBCwkAIIQQSBkIIIZAwEEIIgYSBEOds/vz5vPfee63mOEKAhIEQEaGoqIiJEyeaXYZoxSQMhDiNQCAQsn35/f6Q7UuIULP0RHVCtJS9e/fy+uuvs3v3bhwOB7fccgvp6enMnz+fmJgYSktL2bx5Mw8//DCJiYm88sorHDhwgCFDhpwwLfratWt57733KCkpoXv37tx111306tULgPvuu49rrrmGFStWsH//ft566y2ioqJOWtN333130uPU1tYyffp0fD4ft956KwAvvfSSzP0vQsvEhXWEMEVDQ4O+//779V//+lfd0NCgN27cqG+99Va9b98+/fLLL+vbbrtNf/vtt9rv9+uqqip977336o8++kg3NDTof/7zn/qmm24KruK1a9cufeedd+pt27Zpv9+vv/zyS52dna3r6+u11lpnZ2frqVOn6pKSEl1XV3famk53nE2bNul77rmn5f/HEW2WNBOJNmf79u3U1tYyduxY7HY7F110EZdccgkrVqwAYNiwYfTv3x+bzcbu3bvx+/2MGTMGu91ORkYGvXv3Du4rJyeHrKws+vbti81mIzMzE7vdzvbt24PPufbaa3G5XMTExJyypm3btp32OEK0NGkmEm1OeXk5LpfruAWRUlJS8Hg8ADidzuOe63A4jmsacrlcwZ9LS0vJz8/ns88+C27z+XzBff30+aer6XTHEaKlSRiINic5OZnS0lICgUAwEEpLS+nSpQslJSXHfSAnJyfj8XjQWge3l5WVBRdkcTqdjBs3jnHjxjW7ptMdR5ZvFS1NmolEm9O3b19iY2P529/+hs/no6ioiLVr1550QaR+/fphs9lYunQpPp+Pr776ih07dgT/fvXVV/P555+zfft2tNbU1tZSWFhITU3NOdV0puMkJSVRWVlJdXV109+4EKchVwaizbHb7Tz66KO8/vrrLF68GIfDwf3333/SxZDsdjtTp07l1Vdf5b333mPIkCFceumlwb/37t2be+65hz/84Q8cOHCAmJgY+vfvz4UXXnjONZ3uON26dePyyy/n/vvvJxAIMGvWLOlNJEJKFrcRQgghzURCCCGkmUiIsCktLeWBBx446d9mz54tvYeEqaSZSAghhDQTCSGEkDAQQgiBhIEQQggkDIQQQgD/H6y78zLtXRAQAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "grouped_month_orders = grouped_month.user_id.count().plot()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**前三个月消费的订单数在10000笔左右，后面每月的平均消费订单在2500笔左右**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2524.0666666666666"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "grouped_month.user_id.count()[3:].mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:xlabel='order_dt'>"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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UTWto6SkhKeeeop77rmHiRMnMmfOHOrqjj7F49tvv011dXUMK5SmaIv7q8LAJZYuXcqAAQNYunTp93pfJBJppYqkuay1/P73v2fYsGHMnDmTp59+mqqqKl5//fWjvuedd95RGMSBtri/ujoMjvfNsa2oqqpi/fr13HHHHY3/uQoKCnjsscd48skn+cUvfsEf/vCHxv9I119/Pa+88goPPvggGzZscLL0ZisoKDjkxOLs2bNZtGiRcwW1oLVr15KYmMhFF10EgMfj4cYbb+TDDz+kqqqKV155hQceeIBJkyaxcOFC3nnnHUKhEL/97W/57W9/63D1TdMe9tm2ur9qchsXyM/PJysri+7du9OpUye2bNkCwKZNm5g2bRrp6ek8/vjj/POf/2T48OFUV1fTt29fbrjhBocrl2P55ptvOO200w5ZlpycTDAYJC8vj6KiIp566im8Xi8VFRWkpKTw9ttv89hjj9G5c2eHqpbjaav7q+vDoKqqiqeeeop9+/ZRV1fHtddey7BhwygsLOTJJ5/k9NNPZ8OGDfj9fh566CESExOdLvl7W7p0KVdccQUA5513Hh999BFnn302ffv2pWvXrgCcf/75rF+/nuHDh+PxeBg+fLiTJUszFRQUcNlll+H1egFISUlxuKKW09b32ba6v7o+DBISEpg0aRLJycns3buXRx99lOzsbAB27drFL37xC+644w6mTZvGJ598wsiRIx2u+PupqKhg7dq1fP311xhjGpuWZ5111lHfk5CQgMfj6h6+E+b1ejn4grba2loHq2lZPXv25NNPPz1kWWVlJcXFxaSnpztUVetry/tsW95fXR8G1lpef/11vvjiC4wxhEIhysrKAMjIyODUU08FIDMzk6KiIgcrbZqGneG2225rXPbYY4+xfv16Nm3aRGFhIcFgkI8//piLL77YwUpbRzAYZPv27dTW1lJTU8OaNWsYMGCA02W1iDPPPJM///nPLF68mFGjRhGJRHjllVcYPXo03bp144MPPmDw4MGHdBN16NCBqqqquO4masv7bFveX10fBh999BF79+5lypQp+Hw+7rrrLmpqaoBo4jbweDyNy+PJ0qVLueqqqw5Zdu655/LBBx/Qt29fZs+eze7duxk8eDDnnHOOQ1W2vHA4TEJCAsFgkBEjRvDAAw+QkZFxWB97PDPGMGnSJF566SXefPNNrLUMHTqUn/70p3g8Hnbt2sWkSZPw+XxcfPHF/PCHPyQnJ4fHH38cv9/PY4895vRHaJK2vM+25f3V9WFQWVlJamoqPp+PtWvXxt03ieM50g5/xRVX0Lt3b/72t78d8QZfr776aixKa1XffPNNY//q+PHjGT9+/GGv+c1vfhPjqlpeMBg86k3abrzxRm688cZDll1++eVcfvnlsSit1bTlfbYt76+u7chq+OZ4wQUXsHnzZh544AGWLFlCjx49nC5Nmun999/n6aef5tprr3W6FGlB2mfjm2tvR7Ft2zZeeOEFnnzySadLEZEToH02vrmym+j9999n4cKF3HTTTU6XIiInQPts/HNty0BERGLHNS2D5557jhUrVpCamsrUqVOBaLPzxRdfpKqqivT0dO655x6Sk5Opq6vjD3/4A5s3b8bj8XDTTTcxePBg9u/fz69//evGdYZCIS688EJ9WxFpYS2xv0L0yqP58+djjCEtLY2JEyfG9WW1cc26REFBgd28ebO9//77G5dNnjzZFhQUWGut/cc//mFff/11a621CxcutLNmzbLWWrtnzx770EMP2XA4fNg6H3roocb3i0jLaYn9ta6uzt566622rKzMWmvtq6++av/rv/4rxp9EGrjmaqJBgwYdNiR/586dDBw4EIAhQ4Y0jubcvn07Z5xxBgCpqal07Nix8f4gB7937969je8XkZbTEvurtRZrLdXV1VhrqaysxO/3x/aDSCPXhMGRnHLKKeTn5wPRkX8lJSUAnHrqqSxfvpxwOExhYSFbtmyhuLj4kPcuW7aMESNGYIyJed0i7dH33V99Ph8///nPmTRpErfffjs7duxgzJgxTn6Eds3VYXDnnXfy/vvv8/DDD7N//358vugpjosuugi/38/kyZN5+eWXOf300w+798fSpUu54IILnChbpF36vvtrXV0d77//Pr/73e944YUX6NWrF/Pnz3f4U7RfrjmBfCQ9evTgV7/6FRBtgq5YsQKI3tzs4JPCv/rVr+jevXvj79u2bSMSiZCZmRnTekXas++7v27btg2Abt26ATBixAjeeuutmNYsB7i6ZdBwc6tIJMK8efO45JJLAKiurqaqqgqAzz//HK/XS8+ePRvft3TpUs4///zYFyzSjn3f/dXv97N9+3b27t3b+JxGKzvHNeMMZsyYwbp16ygvLyc1NZVrrrmGqqoq3nvvPQDOOeccrrvuOowxFBYW8vjjj+PxePD7/dxxxx2H3BL47rvv5pFHHtF/LJFW0lL7a8NgNa/XSzAY5K677qJTp05OfrR2yzVhICIiznF1N5GIiMSGwkBERBQGIiKiMBARERQGIiKCwkBERFAYiHwvs2bNYu7cuW1mOyINFAYiLldQUMAdd9zhdBnSxikMRI4iEom02LrC4XCLrUukNbj6RnUirWH79u289NJLbNu2Db/fz3XXXUd2djazZs0iMTGR4uJi1q1bx4MPPkinTp14/vnn2bVrF0OHDj3sluifffYZc+fOpaioiJ49e/Lzn/+c3r17A3DXXXdxySWX8NFHH7Fz505effVVvF7vEWvaunXrEbdTVVXFE088QV1dHddffz0ATz/9tO77Ly3PwYl1RGKutrbW3n333fbNN9+0tbW1ds2aNfb666+3O3bssM8++6y94YYb7BdffGHD4bDdt2+fvfPOO+3f/vY3W1tbaz/++GN77bXXNs7gtWXLFnvrrbfaDRs22HA4bD/88EM7YcIEW1NTY621dsKECXbSpEm2qKjIVldXH7OmY21n7dq19vbbb2/9P460a+omknZl48aNVFVVcfXVV+Pz+TjjjDM466yz+OijjwAYNmwYAwYMwOPxsG3bNsLhMGPHjsXn8zF8+HD69OnTuK7c3FxycnLo168fHo+H0aNH4/P52LhxY+NrLr/8coLBIImJiUetacOGDcfcjkgsqJtI2pXS0lKCweAhkyGlp6cTCoUACAQCh7zW7/cf0jUUDAYbHxcXF7N48WLefffdxmV1dXWN6/ru649V07G2IxILCgNpV9LS0iguLiYSiTQGQnFxMSeffDJFRUWHHJDT0tIIhUJYaxuXl5SUNE7GEggEGDduHOPGjWt2TcfajqZulVhQN5G0K/369SMpKYn//u//pq6ujoKCAj777LMjTobUv39/PB4PCxcupK6ujk8//ZRNmzY1Pn/xxRfzwQcfsHHjRqy1VFVVsWLFCvbv3/+9ajredlJTUykvL6eysrLpH1zkONQykHbF5/Px8MMP89JLLzF//nz8fj933333ESdC8vl8TJo0iRdeeIG5c+cydOhQzjnnnMbn+/Tpw+23384f//hHdu3aRWJiIgMGDGDgwIHfu6ZjbadHjx6cf/753H333UQiEaZNm6ariaTFaXIbERFRN5GIiKibSCQmiouLue+++4743PTp03X1kDhO3UQiIqJuIhERURiIiAgKAxERQWEgIiIoDEREBPj/fU9rnLR8KAMAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "grouped_month.user_id.apply(lambda x:len(x.drop_duplicates())).plot()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**每月的消费人数略低于每月的订单数，但是差异不大,可以说明大部分用户每月的消费频次不高**"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2.用户个体消费情况\n",
    "- 用户消费金额、消费次数的统计\n",
    "- 用户消费金额和用户消费的散点图\n",
    "- 用户消费金额的分布图\n",
    "- 用户消费次数的分布图\n",
    "- 用户累计消费金额的占比"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>order_products</th>\n",
       "      <th>order_amount</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>23570.000000</td>\n",
       "      <td>23570.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>7.122656</td>\n",
       "      <td>106.080426</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>16.983531</td>\n",
       "      <td>240.925195</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>19.970000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>3.000000</td>\n",
       "      <td>43.395000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>7.000000</td>\n",
       "      <td>106.475000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>1033.000000</td>\n",
       "      <td>13990.930000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       order_products  order_amount\n",
       "count    23570.000000  23570.000000\n",
       "mean         7.122656    106.080426\n",
       "std         16.983531    240.925195\n",
       "min          1.000000      0.000000\n",
       "25%          1.000000     19.970000\n",
       "50%          3.000000     43.395000\n",
       "75%          7.000000    106.475000\n",
       "max       1033.000000  13990.930000"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "grouped_user = df.groupby('user_id')\n",
    "grouped_user.sum().describe()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**从结果中分析：用户购买产品数量和消费金额的平均值分别为7和106，但是中间值只有3和43，这说明有一小部分的用户购买了大量的产品**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x155c5d0a128>"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(grouped_user.sum().iloc[:,1],grouped_user.sum().iloc[:,0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x155c5dc6be0>"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXgAAAD4CAYAAADmWv3KAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAAAsUElEQVR4nO3dfXSU9Z338fc1k0AIIQ+ThMREaI2oVIpFDQu6Kig5bI96Fw+HQ29KdXHLcnqjWFC81epiK7JylBhU8GiXrq6up4tnT4HtP9oTWcNtWTUWEIUayoNVCyEPk4QQiCQz1/3HJGNmck1mMpmHKzOf1z+Sa56+c8V85ze/6/v7/gzTNE1ERCTlOJIdgIiIxIcSvIhIilKCFxFJUUrwIiIpSgleRCRFKcGLiKSojGQH0O/kyZNRPa6oqIiWlpYYRxMbdo3NrnGBYouGXeMC+8Zm17hgeLGVlZUNeXvYBH/hwgUef/xxent78Xg8zJ49m8WLF9PU1MTmzZvp7OykoqKCVatWkZGRQU9PD1u2bOH48eNMmDCB1atXM3HixMjemYiIxEzYKZrMzEwef/xxnnnmGZ5++mkOHDjAkSNH+Pd//3duu+02XnjhBcaPH8/u3bsB2L17N+PHj+eFF17gtttu44033oj7mxARkcHCJnjDMMjKygLA4/Hg8XgwDINDhw4xe/ZsAObOnUt9fT0AH330EXPnzgVg9uzZfPrpp2ixrIhI4kU0B+/1ennooYdobGzk7/7u7ygpKSE7Oxun0wmAy+XC7XYD4Ha7KSwsBMDpdJKdnU1nZye5ubkBz1lbW0ttbS0AGzdupKioKLo3kJER9WPjza6x2TUuUGzRsGtcYN/Y7BoXxDa2iBK8w+HgmWeeoauri02bNkV9QXSgqqoqqqqq/D9He8EjVS6WJJJd4wLFFg27xgX2jc2ucUGCL7IONH78eKZNm8aRI0c4d+4cHo8Hp9OJ2+3G5XIBvtF8a2srhYWFeDwezp07x4QJE4bzMiIiKcfb3Ai73sBsd2Pku2DBUhzFpXF9zbBz8GfOnKGrqwvwVdQcPHiQ8vJypk2bxvvvvw/Au+++S2VlJQDXXnst7777LgDvv/8+06ZNwzCMOIUvImJ/3uZGzJp1mB/UQcMnmB/UYdas8yX9OAo7gm9ra2Pr1q14vV5M0+S6667j2muv5eKLL2bz5s38x3/8B5dccgm33HILALfccgtbtmxh1apV5OTksHr16ri+ARER29v1BgQn874RPcsfiNvLhk3w3/rWt3j66acHHS8pKeGpp54adHzMmDHcf//9sYlORCQFmO3uYR2PFbUqEBGJMyPfNazjsaIELyISbwuWQvAF1eJS3/E4sk0vGhGRVOUoLsW75omEV9EowYuIJICjuDSuF1QtXzOhryYiIgmjBC8ikqKU4EVEUpQSvIhIilKCFxFJUUrwIiIpSgleRCRFKcGLiKQoJXgRkRSllawiIkmQiA1AlOBFRBKsfwOQ/h7xJsDxBl+/mhjuFaspGhGRRBtqA5AY0gheRCQGhjPlkqgNQJTgRURGaKgpF6skb+S7fPexOB5LmqIRERmp4U65JGgDEI3gRURGaLhTLonaAEQJXkRkhKKZcknEBiCaohERGakk7bkajkbwIiIjlKw9V8NRghcRiYFk7LkajqZoRERSVNgRfEtLC1u3bqW9vR3DMKiqquLWW2/lzTff5J133iE3NxeAJUuWcM011wCwY8cOdu/ejcPh4O6772bGjBlxfRMiIjJY2ATvdDq58847qaio4Pz58zz88MNcddVVANx222384Ac/CLj/V199xd69e3n22Wdpa2tj/fr1PPfcczgc+rIgIpJIYbNuQUEBFRUVAIwbN47y8nLc7tDLaevr67n++uvJzMxk4sSJlJaWcvTo0dhFLCIiERnWRdampiZOnDjBlClT+Oyzz3j77bfZs2cPFRUV3HXXXeTk5OB2u7nsssv8j3G5XJYfCLW1tdTW1gKwceNGiqLsoJaRkRH1Y+PNrrHZNS5QbNGwa1xg39jsGhfENraIE3x3dzfV1dUsW7aM7Oxs5s+fz6JFiwDYvn07r732GitXroz4hauqqqiqqvL/3NLSMoywv1FUVBT1Y+PNrrHZNS5QbNGwa1xg39jsGhcML7aysrIhb49oYry3t5fq6mpuvPFGZs2aBUB+fj4OhwOHw8G8efM4duwY4Buxt7a2+h/rdrtxuWLbQEdERMILm+BN0+Sll16ivLyc22+/3X+8ra3N/+8PP/yQSZMmAVBZWcnevXvp6emhqamJU6dOMWXKlDiELiIiQwk7RdPQ0MCePXuYPHkyDz74IOArifzDH/7A559/jmEYFBcXs2LFCgAmTZrEddddx/3334/D4eAnP/mJKmhERJIgbIKf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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(grouped_user.sum().query('order_amount<4000').iloc[:,1],grouped_user.sum().query('order_amount<4000').iloc[:,0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([2.2954e+04, 4.5600e+02, 9.7000e+01, 2.9000e+01, 1.2000e+01,\n",
       "        6.0000e+00, 3.0000e+00, 6.0000e+00, 2.0000e+00, 0.0000e+00,\n",
       "        0.0000e+00, 2.0000e+00, 1.0000e+00, 0.0000e+00, 0.0000e+00,\n",
       "        0.0000e+00, 1.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00,\n",
       "        0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]),\n",
       " array([    0.    ,   559.6372,  1119.2744,  1678.9116,  2238.5488,\n",
       "         2798.186 ,  3357.8232,  3917.4604,  4477.0976,  5036.7348,\n",
       "         5596.372 ,  6156.0092,  6715.6464,  7275.2836,  7834.9208,\n",
       "         8394.558 ,  8954.1952,  9513.8324, 10073.4696, 10633.1068,\n",
       "        11192.744 , 11752.3812, 12312.0184, 12871.6556, 13431.2928,\n",
       "        13990.93  ]),\n",
       " <BarContainer object of 25 artists>)"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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MsaYMbt3ERFxjEmxZSQiIhNPhSAiIsAkeQ9hvEyWr8fo6uqipqaG8+fP43K5CIVC3H///SQSCSorKzl37hwzZsxg/fr1eDwejDHs3LmTtrY2pk6dSjgcpqCgAICmpib27NkDwIoVKygrKxuTzAMDA2zYsAGfz8eGDRvo7OykqqqKnp4eCgoKeP7553G73Vy5coW33nqLY8eOMX36dF544QVmzpwJQF1dHY2NjWRkZLB69WoCgcCYZL1w4QJbt27lxIkTuFwunn32WfLz8yfl2v71r3+lsbERl8vFnDlzCIfDnD9/ftKsbW1tLa2treTk5FBRUQGQ1p/TY8eOUVNTQ29vL8XFxaxevRqXy5W2rLt27WL//v243W5uueUWwuEwN998MzD0mg31ODHUz3yqBst7zQcffMCuXbvYvn072dnZ47e25gbR399vnnvuOXPmzBlz5coV89JLL5kTJ05MSBbLsszRo0eNMcZcvHjRrFu3zpw4ccLs2rXL1NXVGWOMqaurM7t27TLGGLN//36zefNmMzAwYA4dOmQ2btxojDGmp6fHrF271vT09Fz357HwwQcfmKqqKvPaa68ZY4ypqKgwH3/8sTHGmLffftt8+OGHxhhj/va3v5m3337bGGPMxx9/bN544w1jjDEnTpwwL730kunt7TVnz541zz33nOnv7x+TrG+++aZpaGgwxhhz5coVk0gkJuXaxmIxEw6HzRdffGGMubqmH3300aRa2wMHDpijR4+aF198MXksnWu5YcMGc+jQITMwMGA2b95sWltb05o1Go2avr6+ZO5rWYdas697nBjq7yWdeY0x5ty5c+bVV181zz77rOnu7jbGjN/a3jBbRl/+egy32538eoyJ4PV6k+0+bdo0Zs+ejWVZRCIRSktLASgtLU3m27dvHyUlJbhcLgoLC7lw4QLxeJxoNEpRUREejwePx0NRURHRaDTteWOxGK2trSxbtgwAYwwHDhxgyZIlAJSVlV2X9dozlCVLlvDZZ59hjCESibB06VJuuukmZs6cyaxZszhy5Ejas168eJF///vf3HvvvQC43W5uvvnmSbu2AwMD9Pb20t/fT29vL7m5uZNqbRcuXIjH47nuWLrWMh6Pc+nSJQoLC3G5XJSUlIzqd3KwrHfeeSeZmZkAFBYWYllW8hwGW7OhHie+7mc+nXkB3n33XR577LHrns2P19reMFtG3/TrMcZbZ2cnx48fZ/78+XR3d+P1egHIzc2lu7sbuJo9Ly8veRu/349lWV85J5/Pl/yBT6d33nmHxx9/nEuXLgHQ09NDVlZW8hfty/N+OVNmZiZZWVn09PRgWRYLFiwY86ydnZ1kZ2dTW1vLf//7XwoKCli1atWkXFufz8ePf/xjnn32WaZMmcKdd95JQUHBpF3ba9K1loP9To5l7sbGRpYuXZrMOtSaDfY48XU/8+kUiUTw+Xzcdttt1x0fr7W9YV4hTEaXL1+moqKCVatWkZWVdd11Lpcr5b3UdNq/fz85OTnJVzSTXX9/P8ePH+e+++7jd7/7HVOnTqW+vv66MZNlbROJBJFIhJqaGt5++20uX748Jq9CxtJkWcvh7Nmzh8zMTO6+++6JjjKkL774grq6On7yk59MWIYbphAm29dj9PX1UVFRwd13381dd90FQE5ODvF4HIB4PE52djZwNXtXV1fyttey//9zsiwr7ed06NAh9u3bx9q1a6mqquKzzz7jnXfe4eLFi/T3939l3i9n6u/v5+LFi0yfPn1cssLVZ0J+vz/57G/JkiUcP358Uq7tv/71L2bOnEl2djZut5u77rqLQ4cOTdq1vSZdazlev5NNTU3s37+fdevWJctrpJmmT58+5N9Lupw9e5bOzk5efvll1q5dSywW45VXXuH8+fPjtrY3TCFMpq/HMMawdetWZs+ezYMPPpg8HgwGaW5uBqC5uZnFixcnj7e0tGCMoaOjg6ysLLxeL4FAgPb2dhKJBIlEgvb29rR/cuenP/0pW7dupaamhhdeeIHvfve7rFu3jjvuuINPP/0UuPoLd20tv//979PU1ATAp59+yh133IHL5SIYDLJ3716uXLlCZ2cnp0+fZv78+WnNCle3MPx+P6dOnQKuPujeeuutk3Jt8/LyOHz4MF988QXGmGTWybq216RrLb1eL9OmTaOjowNjDC0tLWn/nYxGo/zlL3/hlVdeYerUqdedw2BrNtTjhMvlGvLvJV3mzp3L9u3bqampoaamBr/fz29/+1tyc3PHbW1vqH+p3Nrayrvvvpv8eowVK1ZMSI7//Oc//OpXv2Lu3LnJZyyPPvooCxYsoLKykq6urq98nG/Hjh20t7czZcoUwuEw8+bNA67ui9bV1QFXP3J2zz33jFnuAwcO8MEHH7BhwwbOnj1LVVUViUSC22+/neeff56bbrqJ3t5e3nrrLY4fP47H4+GFF15I/j8Xe/bs4aOPPiIjI4NVq1ZRXFw8Jjk///xztm7dSl9fHzNnziQcDmOMmZRr+95777F3714yMzO57bbbeOaZZ7Asa9KsbVVVFQcPHqSnp4ecnBweeeQRFi9enLa1PHr0KLW1tfT29hIIBHjiiSdS3oIaLGtdXR19fX3JN28XLFjAmjVrgKHXbKjHiaF+5tO5ttc+DAGwdu1aXnvtteTHTsdjbW+oQhARkaHdMFtGIiLy9VQIIiICqBBERMSmQhAREUCFICIiNhWCiIgAKgQREbH9H0jTAJqhcqYdAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.hist(grouped_user.sum().order_amount,bins=25)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "从直方图中可知，大部分用户的消费金额呈现集中趋势，小部分异常值干扰了显示结果，可以**过滤异常值**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:ylabel='Frequency'>"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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9g3qXb1375q8piIiIgOPQkVERCyjUBEREcsoVERExDIKFRERsYxCRURELKNQERERyyhURETEMgoVERGxjEJFREQso1ARERHLKFRERMQyChUREbGMQkVERCyjUBEREcsoVERExDIKFRERsUzErxP2+XzcfvvtxMfH93gnFRUV1NXVkZKSQklJCQBvvvkmu3btIiEhgZEjR1JYWMh1112H3+9n6dKl5pvFsrKyzFcNHzp0iPLyctra2sjNzWXevHnYbDbC4TClpaUcP36c4cOHs3TpUux2e4/rFBGRP0/EZyobN25k4cKFrFu3jgMHDvRoJ9OmTWPlypVd1k2YMIGSkhJefvllrr/+ejZv3mx+lp6eTnFxMcXFxWagAKxdu5ZFixaxevVqjh49SkNDAwCVlZWMHz+e1atXM378eCorK3tUn4iIWCPiUCkuLuYf/uEfSExMpKSkhKeeeorf/OY3+P3+K247bty4S84cbrvtNvOsJzs7m2AweNnvCIVCnD59muzsbGw2G1OnTsXn8wHnz6Ly8/MByM/PN9eLiEjfinj6C+Cmm27ipptuYs6cOXz88ce8+eabbNy4kb/4i7/A4/Fw5513EhfX88s0VVVV5OXlmct+v5+f/vSnDB06lEceeYRbbrmFYDCIy+Uyx7hcLjOIWlpacDgcAKSmptLS0tLtvrxeL16vF4CioiLS0tIirjMhIcEcfyzy9izVk3qtdHHvsSRW+wb1rt6vcvuebnD06FHef/993n//fWw2Gw8//DBpaWm8++67fPjhhzz99NM9+r533nmH+Ph4pkyZAoDD4aCiooJhw4Zx6NAhiouLzeswkbDZbNhstm4/93g8eDwec7m5uTni705LS+vR+N4Qrf1fC71HQ6z2DepdvXfvwjXvbxJxqLz77ru8//77NDU1kZeXx49//GOys7PNzydNmsSCBQsi/ToAtm3bxq5du3juuefMIBg0aBCDBg0CIDMzk5EjR9LU1ITT6SQQCJjbBgIBnE4nACkpKYRCIRwOB6FQiOTk5B7VISIi1og4VBoaGpgxYwZut9v8oX+xwYMH9+gspaGhgf/8z//kn/7pnxg8eLC5/quvvsJutxMXF8exY8doampi5MiR2O12hg4dyv79+8nKyqKmpoZ7770XALfbTXV1NQUFBVRXVzNx4sSI6xAREevYDMMwIhnY1tZGXFwc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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "grouped_user.sum().query('order_products < 100').order_products.plot.hist()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:>"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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PnyH8sV/pbWhAVpa3Pnm5kb3Zr7fxhg3mPunQWqaezTHcTnQP9V93t/9Mgc9pn8a9O2ngBaRmNBpoIdCIQKBb24OEAgEKCoq6rBNUlISKSkp1NTUkJ7e/kzBwsJCCgsLAZg3bx7BYPCoC24YkkPT8FHY5GT3wk29emN698akpOJL6Y9J6X/447QMTP/UuLrEanJycrfGL14kev9BYwAag0NF9UPR/Px88vPz256Xd+dDvRGnEDz7/KNbt7EJGkNHv60eLBgMdm/84kSi9x80BpCYYzB48OAOl3W6y+r3+6mo+OZswoqKCvx+f4dtWltbqaurIy0trbv1iohIN3Qa6Lm5uZSWllJWVkZLSwvLli0jLy+vXZuzzjqL999/H4Dly5dz2mmnad5ZRCTKOp1ySUpKYsaMGcydOxfHcZgyZQo5OTkUFBSQm5tLXl4eF154IY8//jizZs0iNTWV22+/PQqli4jIwYy1B19OL7p27tzZrfUScd7sUIk+Bonef9AYQGKOwTHNoYuISGxQoIuIxAkFuohInFCgi4jECU8/FBURkfCJyT30u+++2+sSPJfoY5Do/QeNAWgMDhWTgS4iIodToIuIxImYDPSDL/CVqBJ9DBK9/6AxAI3BofShqIhInIjJPXQRETmcAl1EJE5E9QYX4dDZDatj2a233krfvn3x+XwkJSUxb948amtreeSRR9izZw8DBw7kjjvuIDU1FWstCxcuZPXq1fTp04eZM2cyYsQIAN5//31efvllAC6//HImT57sYa++3ZNPPsmqVavIyMhg/vz5AGHtc0lJCU888QRNTU2MHTuWm266qUdd2vlI/X/hhRdYvHhx2x2/rrnmGsaNGwfAokWLWLJkCT6fj5tuuokxY8YAHf9elJWV8eijj1JTU8OIESOYNWsWyck969e+vLycJ554gr1792KMIT8/n+9973sJ9T4IGxtDWltb7c9+9jO7a9cu29zcbO+66y67bds2r8sKm5kzZ9qqqqp2P3v22WftokWLrLXWLlq0yD777LPWWms//fRTO3fuXOs4jt24caOdM2eOtdbampoae+utt9qampp2j3uq9evX282bN9s777yz7Wfh7PPdd99tN27caB3HsXPnzrWrVq2Kbgc7caT+FxQU2FdfffWwttu2bbN33XWXbWpqsrt377Y/+9nPbGtr67f+XsyfP99+9NFH1lprn376afv2229Hp2NHIRQK2c2bN1trra2rq7OzZ8+227ZtS6j3QbjE1JTLwTesTk5ObrthdTxbsWIFF1xwAQAXXHBBW39XrlzJpEmTMMYwatQo9u3bR2VlJWvWrGH06NGkpqaSmprK6NGjWbNmjYc9+Hannnoqqamp7X4Wrj5XVlZSX1/PqFGjMMYwadKkHvd+OVL/O7JixQomTpxIr169GDRoENnZ2RQXF3f4e2GtZf369Zx77rkATJ48ucf1HyAzM7NtD7tfv34MGTKEUCiUUO+DcOlZf3t1ois3rI51c+fOBeCiiy4iPz+fqqoqMjMzARgwYABVVVWAOxYH3xw3EAgQCoUOGyO/308oFFv3Uw1Xn4/0fomVsXj77bdZunQpI0aM4Prrryc1NZVQKMTIkSPb2hz8b3uk34uamhpSUlJISko6rH1PVVZWxpYtWzjxxBP1PuiGmAr0ePfggw/i9/upqqrioYceOuxC9saY+Jz3+xaJ2Odp06ZxxRVXAFBQUMAzzzzDzJkzPa4q8hoaGpg/fz433ngjKSkp7ZYl4vugO2JqyqUrN6yOZQf6kpGRwfjx4ykuLiYjI4PKykoAKisr2z4o8/v97e7UcmAsDh2jUCgUc2MUrj7H6vtlwIAB+Hw+fD4fU6dOZfPmzcDh7//O+pmWlkZdXR2tra3t2vdELS0tzJ8/n/PPP59zzjkH0PugO2Iq0Ltyw+pY1dDQQH19fdvjdevWMWzYMPLy8vjggw8A+OCDDxg/fjwAeXl5LF26FGstmzZtIiUlhczMTMaMGcPatWupra2ltraWtWvXth0JESvC1efMzEz69evHpk2bsNaydOnSmHi/HAgxgE8++YScnBzA7f+yZctobm6mrKyM0tJSTjzxxA5/L4wxnHbaaSxfvhxwjwDpif231vLUU08xZMgQLrnkkrafJ/r7oDti7kzRVatW8cc//rHthtWXX3651yWFxe7du3n44YcBaG1t5Tvf+Q6XX345NTU1PPLII5SXlx926NaCBQtYu3YtvXv3ZubMmeTm5gKwZMkSFi1aBLiHbk2ZMsWzfnXm0UcfZcOGDdTU1JCRkcFVV13F+PHjw9bnzZs38+STT9LU1MSYMWOYMWNGj/rT/Uj9X79+PV999RXGGAYOHMjNN9/cNpf88ssv89577+Hz+bjxxhsZO3Ys0PHvxe7du3n00Uepra1l+PDhzJo1i169ennW3yP58ssv+cUvfsGwYcPa/m2uueYaRo4cmTDvg3CJuUAXEZEji6kpFxER6ZgCXUQkTijQRUTihAJdRCROKNBFROKEAl1EJE4o0EVE4sT/AKv+iRnTZQvlAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "grouped_user.sum().sort_values('order_amount').apply(lambda x:x.cumsum()/x.sum()).reset_index().order_amount.plot()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**从图中可以得知，50%的用户只贡献了15%的销售额，而消费排名前5000不到的用户就贡献了40%的销售额**"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3.用户的消费行为\n",
    "- 用户的第一次消费(首购)\n",
    "- 用户的最后一次消费\n",
    "- 新老客户消费比\n",
    "    - 多少用户只消费了一次\n",
    "- 用户分层\n",
    "    - RFM\n",
    "    -新、老、活跃、回流、流失（不活跃用户）\n",
    "- 用户购买周期（根据订单）\n",
    "    - 用户消费周期描述\n",
    "    - 用户消费周期分布\n",
    "- 用户生命周期（第一次和最后一次消费间隔）\n",
    "    - 用户生命周期描述\n",
    "    - 用户生命周期分布"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:>"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "grouped_user.min().order_dt.value_counts().plot()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**用户第一次购买分布集中在前三个月，其中在2月11号到2月15号之间有一次剧烈的波动**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:>"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "grouped_user.max().order_dt.value_counts().plot()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**用户最后一次购买的分布时间比第一次购买的分布时间广很多，相当大一部分的用户最后一次购买也集中在前三个月，说明有很多用户只购买了一次，复购率偏低；然后随着时间的增加，最后一次购买的用户数也在增加，消费呈现了一个流失上升的趋势**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>min</th>\n",
       "      <th>max</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>user_id</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1997-01-01</td>\n",
       "      <td>1997-01-01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1997-01-12</td>\n",
       "      <td>1997-01-12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1997-01-02</td>\n",
       "      <td>1998-05-28</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1997-01-01</td>\n",
       "      <td>1997-12-12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>1997-01-01</td>\n",
       "      <td>1998-01-03</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "               min        max\n",
       "user_id                      \n",
       "1       1997-01-01 1997-01-01\n",
       "2       1997-01-12 1997-01-12\n",
       "3       1997-01-02 1998-05-28\n",
       "4       1997-01-01 1997-12-12\n",
       "5       1997-01-01 1998-01-03"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "user_life = grouped_user.order_dt.agg(['min', 'max'])\n",
    "user_life.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "用户第一次购买和最后一次购买的时间"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "True     12054\n",
       "False    11516\n",
       "dtype: int64"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "(user_life['min'] == user_life['max']).value_counts()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**说明一半的的用户仅消费了一次**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>order_amount</th>\n",
       "      <th>order_dt</th>\n",
       "      <th>order_products</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>user_id</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>11.77</td>\n",
       "      <td>1997-01-01</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>89.00</td>\n",
       "      <td>1997-01-12</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>156.46</td>\n",
       "      <td>1998-05-28</td>\n",
       "      <td>16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>100.50</td>\n",
       "      <td>1997-12-12</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>385.61</td>\n",
       "      <td>1998-01-03</td>\n",
       "      <td>29</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         order_amount   order_dt  order_products\n",
       "user_id                                         \n",
       "1               11.77 1997-01-01               1\n",
       "2               89.00 1997-01-12               6\n",
       "3              156.46 1998-05-28              16\n",
       "4              100.50 1997-12-12               7\n",
       "5              385.61 1998-01-03              29"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rfm = df.pivot_table(index='user_id',\n",
    "                    values = ['order_products','order_dt','order_amount'],\n",
    "                    aggfunc={\n",
    "                        'order_products':'sum',\n",
    "                        'order_dt':'max',\n",
    "                        'order_amount':'sum'\n",
    "                    })\n",
    "rfm.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>order_amount</th>\n",
       "      <th>order_dt</th>\n",
       "      <th>order_products</th>\n",
       "      <th>R</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>user_id</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>11.77</td>\n",
       "      <td>1997-01-01</td>\n",
       "      <td>1</td>\n",
       "      <td>545 days</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>89.00</td>\n",
       "      <td>1997-01-12</td>\n",
       "      <td>6</td>\n",
       "      <td>534 days</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>156.46</td>\n",
       "      <td>1998-05-28</td>\n",
       "      <td>16</td>\n",
       "      <td>33 days</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>100.50</td>\n",
       "      <td>1997-12-12</td>\n",
       "      <td>7</td>\n",
       "      <td>200 days</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>385.61</td>\n",
       "      <td>1998-01-03</td>\n",
       "      <td>29</td>\n",
       "      <td>178 days</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         order_amount   order_dt  order_products        R\n",
       "user_id                                                  \n",
       "1               11.77 1997-01-01               1 545 days\n",
       "2               89.00 1997-01-12               6 534 days\n",
       "3              156.46 1998-05-28              16  33 days\n",
       "4              100.50 1997-12-12               7 200 days\n",
       "5              385.61 1998-01-03              29 178 days"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rfm['R'] = -(rfm.order_dt - rfm.order_dt.max())\n",
    "rfm.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>order_amount</th>\n",
       "      <th>order_dt</th>\n",
       "      <th>order_products</th>\n",
       "      <th>R</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>user_id</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>11.77</td>\n",
       "      <td>1997-01-01</td>\n",
       "      <td>1</td>\n",
       "      <td>545.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>89.00</td>\n",
       "      <td>1997-01-12</td>\n",
       "      <td>6</td>\n",
       "      <td>534.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>156.46</td>\n",
       "      <td>1998-05-28</td>\n",
       "      <td>16</td>\n",
       "      <td>33.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>100.50</td>\n",
       "      <td>1997-12-12</td>\n",
       "      <td>7</td>\n",
       "      <td>200.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>385.61</td>\n",
       "      <td>1998-01-03</td>\n",
       "      <td>29</td>\n",
       "      <td>178.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         order_amount   order_dt  order_products      R\n",
       "user_id                                                \n",
       "1               11.77 1997-01-01               1  545.0\n",
       "2               89.00 1997-01-12               6  534.0\n",
       "3              156.46 1998-05-28              16   33.0\n",
       "4              100.50 1997-12-12               7  200.0\n",
       "5              385.61 1998-01-03              29  178.0"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rfm['R'] = rfm['R']/np.timedelta64(1,'D')\n",
    "rfm.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "最近的一次购买时间距离统计的最后时间"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>M</th>\n",
       "      <th>order_dt</th>\n",
       "      <th>F</th>\n",
       "      <th>R</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>user_id</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>11.77</td>\n",
       "      <td>1997-01-01</td>\n",
       "      <td>1</td>\n",
       "      <td>545.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>89.00</td>\n",
       "      <td>1997-01-12</td>\n",
       "      <td>6</td>\n",
       "      <td>534.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>156.46</td>\n",
       "      <td>1998-05-28</td>\n",
       "      <td>16</td>\n",
       "      <td>33.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>100.50</td>\n",
       "      <td>1997-12-12</td>\n",
       "      <td>7</td>\n",
       "      <td>200.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>385.61</td>\n",
       "      <td>1998-01-03</td>\n",
       "      <td>29</td>\n",
       "      <td>178.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              M   order_dt   F      R\n",
       "user_id                              \n",
       "1         11.77 1997-01-01   1  545.0\n",
       "2         89.00 1997-01-12   6  534.0\n",
       "3        156.46 1998-05-28  16   33.0\n",
       "4        100.50 1997-12-12   7  200.0\n",
       "5        385.61 1998-01-03  29  178.0"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rfm.rename(columns={\n",
    "    'order_amount':'M',\n",
    "    'order_products':'F'\n",
    "},inplace=True)\n",
    "rfm.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 对用户进行分层\n",
    "def rfm_label(x):\n",
    "    level = x.apply(lambda x: '1' if x >= 0 else '0')\n",
    "    label = level.R + level.F + level.M\n",
    "    types = {\n",
    "        '011':'重要价值客户',\n",
    "        '010':'重要保持客户',\n",
    "        '001':'重要发展客户',\n",
    "        '000':'重要挽留客户',\n",
    "        '111':'一般价值客户',\n",
    "        '110':'一般保持客户',\n",
    "        '101':'一般发展客户',\n",
    "        '100':'一般挽留客户'\n",
    "    }\n",
    "    result = types[label]\n",
    "    return result"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>M</th>\n",
       "      <th>order_dt</th>\n",
       "      <th>F</th>\n",
       "      <th>R</th>\n",
       "      <th>label</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>user_id</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>11.77</td>\n",
       "      <td>1997-01-01</td>\n",
       "      <td>1</td>\n",
       "      <td>545.0</td>\n",
       "      <td>一般挽留客户</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>89.00</td>\n",
       "      <td>1997-01-12</td>\n",
       "      <td>6</td>\n",
       "      <td>534.0</td>\n",
       "      <td>一般挽留客户</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>156.46</td>\n",
       "      <td>1998-05-28</td>\n",
       "      <td>16</td>\n",
       "      <td>33.0</td>\n",
       "      <td>重要价值客户</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>100.50</td>\n",
       "      <td>1997-12-12</td>\n",
       "      <td>7</td>\n",
       "      <td>200.0</td>\n",
       "      <td>重要挽留客户</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>385.61</td>\n",
       "      <td>1998-01-03</td>\n",
       "      <td>29</td>\n",
       "      <td>178.0</td>\n",
       "      <td>重要价值客户</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              M   order_dt   F      R   label\n",
       "user_id                                      \n",
       "1         11.77 1997-01-01   1  545.0  一般挽留客户\n",
       "2         89.00 1997-01-12   6  534.0  一般挽留客户\n",
       "3        156.46 1998-05-28  16   33.0  重要价值客户\n",
       "4        100.50 1997-12-12   7  200.0  重要挽留客户\n",
       "5        385.61 1998-01-03  29  178.0  重要价值客户"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rfm['label'] = rfm[['R','F','M']].apply(lambda x: x-x.mean()).apply(rfm_label,axis=1)\n",
    "rfm.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>M</th>\n",
       "      <th>F</th>\n",
       "      <th>R</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>label</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>一般价值客户</th>\n",
       "      <td>167080.83</td>\n",
       "      <td>11121</td>\n",
       "      <td>358363.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>一般保持客户</th>\n",
       "      <td>7181.28</td>\n",
       "      <td>650</td>\n",
       "      <td>36295.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>一般发展客户</th>\n",
       "      <td>33028.40</td>\n",
       "      <td>1263</td>\n",
       "      <td>114482.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>一般挽留客户</th>\n",
       "      <td>438291.81</td>\n",
       "      <td>29346</td>\n",
       "      <td>6951815.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>重要价值客户</th>\n",
       "      <td>1592039.62</td>\n",
       "      <td>107789</td>\n",
       "      <td>517267.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>重要保持客户</th>\n",
       "      <td>19937.45</td>\n",
       "      <td>1712</td>\n",
       "      <td>29448.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>重要发展客户</th>\n",
       "      <td>45785.01</td>\n",
       "      <td>2023</td>\n",
       "      <td>56636.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>重要挽留客户</th>\n",
       "      <td>196971.23</td>\n",
       "      <td>13977</td>\n",
       "      <td>591108.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                 M       F          R\n",
       "label                                \n",
       "一般价值客户   167080.83   11121   358363.0\n",
       "一般保持客户     7181.28     650    36295.0\n",
       "一般发展客户    33028.40    1263   114482.0\n",
       "一般挽留客户   438291.81   29346  6951815.0\n",
       "重要价值客户  1592039.62  107789   517267.0\n",
       "重要保持客户    19937.45    1712    29448.0\n",
       "重要发展客户    45785.01    2023    56636.0\n",
       "重要挽留客户   196971.23   13977   591108.0"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rfm.groupby('label').sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>M</th>\n",
       "      <th>order_dt</th>\n",
       "      <th>F</th>\n",
       "      <th>R</th>\n",
       "      <th>label</th>\n",
       "      <th>color</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>user_id</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>11.77</td>\n",
       "      <td>1997-01-01</td>\n",
       "      <td>1</td>\n",
       "      <td>545.0</td>\n",
       "      <td>一般挽留客户</td>\n",
       "      <td>g</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>89.00</td>\n",
       "      <td>1997-01-12</td>\n",
       "      <td>6</td>\n",
       "      <td>534.0</td>\n",
       "      <td>一般挽留客户</td>\n",
       "      <td>g</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>156.46</td>\n",
       "      <td>1998-05-28</td>\n",
       "      <td>16</td>\n",
       "      <td>33.0</td>\n",
       "      <td>重要价值客户</td>\n",
       "      <td>r</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>100.50</td>\n",
       "      <td>1997-12-12</td>\n",
       "      <td>7</td>\n",
       "      <td>200.0</td>\n",
       "      <td>重要挽留客户</td>\n",
       "      <td>g</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>385.61</td>\n",
       "      <td>1998-01-03</td>\n",
       "      <td>29</td>\n",
       "      <td>178.0</td>\n",
       "      <td>重要价值客户</td>\n",
       "      <td>r</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              M   order_dt   F      R   label color\n",
       "user_id                                            \n",
       "1         11.77 1997-01-01   1  545.0  一般挽留客户     g\n",
       "2         89.00 1997-01-12   6  534.0  一般挽留客户     g\n",
       "3        156.46 1998-05-28  16   33.0  重要价值客户     r\n",
       "4        100.50 1997-12-12   7  200.0  重要挽留客户     g\n",
       "5        385.61 1998-01-03  29  178.0  重要价值客户     r"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 为了体现重要价值客户的贡献度，把重要价值客户单独分成一类\n",
    "rfm['color'] = rfm.label.map(lambda x:'r' if x=='重要价值客户' else 'g')\n",
    "rfm.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:xlabel='F', ylabel='R'>"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "rfm.plot.scatter('F','R',c=rfm['color'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>M</th>\n",
       "      <th>order_dt</th>\n",
       "      <th>F</th>\n",
       "      <th>R</th>\n",
       "      <th>color</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>label</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>一般价值客户</th>\n",
       "      <td>787</td>\n",
       "      <td>787</td>\n",
       "      <td>787</td>\n",
       "      <td>787</td>\n",
       "      <td>787</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>一般保持客户</th>\n",
       "      <td>77</td>\n",
       "      <td>77</td>\n",
       "      <td>77</td>\n",
       "      <td>77</td>\n",
       "      <td>77</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>一般发展客户</th>\n",
       "      <td>241</td>\n",
       "      <td>241</td>\n",
       "      <td>241</td>\n",
       "      <td>241</td>\n",
       "      <td>241</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>一般挽留客户</th>\n",
       "      <td>14074</td>\n",
       "      <td>14074</td>\n",
       "      <td>14074</td>\n",
       "      <td>14074</td>\n",
       "      <td>14074</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>重要价值客户</th>\n",
       "      <td>4554</td>\n",
       "      <td>4554</td>\n",
       "      <td>4554</td>\n",
       "      <td>4554</td>\n",
       "      <td>4554</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>重要保持客户</th>\n",
       "      <td>206</td>\n",
       "      <td>206</td>\n",
       "      <td>206</td>\n",
       "      <td>206</td>\n",
       "      <td>206</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>重要发展客户</th>\n",
       "      <td>331</td>\n",
       "      <td>331</td>\n",
       "      <td>331</td>\n",
       "      <td>331</td>\n",
       "      <td>331</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>重要挽留客户</th>\n",
       "      <td>3300</td>\n",
       "      <td>3300</td>\n",
       "      <td>3300</td>\n",
       "      <td>3300</td>\n",
       "      <td>3300</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            M  order_dt      F      R  color\n",
       "label                                       \n",
       "一般价值客户    787       787    787    787    787\n",
       "一般保持客户     77        77     77     77     77\n",
       "一般发展客户    241       241    241    241    241\n",
       "一般挽留客户  14074     14074  14074  14074  14074\n",
       "重要价值客户   4554      4554   4554   4554   4554\n",
       "重要保持客户    206       206    206    206    206\n",
       "重要发展客户    331       331    331    331    331\n",
       "重要挽留客户   3300      3300   3300   3300   3300"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rfm.groupby('label').count()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "客户分层的数量"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**从RFM分层可以得出，大部分用户为一般挽留客户，重要价值客户数量不是很多，但是销售额贡献度相当高**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>1997-01-01</th>\n",
       "      <th>1997-02-01</th>\n",
       "      <th>1997-03-01</th>\n",
       "      <th>1997-04-01</th>\n",
       "      <th>1997-05-01</th>\n",
       "      <th>1997-06-01</th>\n",
       "      <th>1997-07-01</th>\n",
       "      <th>1997-08-01</th>\n",
       "      <th>1997-09-01</th>\n",
       "      <th>1997-10-01</th>\n",
       "      <th>1997-11-01</th>\n",
       "      <th>1997-12-01</th>\n",
       "      <th>1998-01-01</th>\n",
       "      <th>1998-02-01</th>\n",
       "      <th>1998-03-01</th>\n",
       "      <th>1998-04-01</th>\n",
       "      <th>1998-05-01</th>\n",
       "      <th>1998-06-01</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>user_id</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>2.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23566</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23567</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23568</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23569</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23570</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>23570 rows × 18 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "         1997-01-01  1997-02-01  1997-03-01  1997-04-01  1997-05-01  \\\n",
       "user_id                                                               \n",
       "1               1.0         0.0         0.0         0.0         0.0   \n",
       "2               2.0         0.0         0.0         0.0         0.0   \n",
       "3               1.0         0.0         1.0         1.0         0.0   \n",
       "4               2.0         0.0         0.0         0.0         0.0   \n",
       "5               2.0         1.0         0.0         1.0         1.0   \n",
       "...             ...         ...         ...         ...         ...   \n",
       "23566           0.0         0.0         1.0         0.0         0.0   \n",
       "23567           0.0         0.0         1.0         0.0         0.0   \n",
       "23568           0.0         0.0         1.0         2.0         0.0   \n",
       "23569           0.0         0.0         1.0         0.0         0.0   \n",
       "23570           0.0         0.0         2.0         0.0         0.0   \n",
       "\n",
       "         1997-06-01  1997-07-01  1997-08-01  1997-09-01  1997-10-01  \\\n",
       "user_id                                                               \n",
       "1               0.0         0.0         0.0         0.0         0.0   \n",
       "2               0.0         0.0         0.0         0.0         0.0   \n",
       "3               0.0         0.0         0.0         0.0         0.0   \n",
       "4               0.0         0.0         1.0         0.0         0.0   \n",
       "5               1.0         1.0         0.0         1.0         0.0   \n",
       "...             ...         ...         ...         ...         ...   \n",
       "23566           0.0         0.0         0.0         0.0         0.0   \n",
       "23567           0.0         0.0         0.0         0.0         0.0   \n",
       "23568           0.0         0.0         0.0         0.0         0.0   \n",
       "23569           0.0         0.0         0.0         0.0         0.0   \n",
       "23570           0.0         0.0         0.0         0.0         0.0   \n",
       "\n",
       "         1997-11-01  1997-12-01  1998-01-01  1998-02-01  1998-03-01  \\\n",
       "user_id                                                               \n",
       "1               0.0         0.0         0.0         0.0         0.0   \n",
       "2               0.0         0.0         0.0         0.0         0.0   \n",
       "3               2.0         0.0         0.0         0.0         0.0   \n",
       "4               0.0         1.0         0.0         0.0         0.0   \n",
       "5               0.0         2.0         1.0         0.0         0.0   \n",
       "...             ...         ...         ...         ...         ...   \n",
       "23566           0.0         0.0         0.0         0.0         0.0   \n",
       "23567           0.0         0.0         0.0         0.0         0.0   \n",
       "23568           0.0         0.0         0.0         0.0         0.0   \n",
       "23569           0.0         0.0         0.0         0.0         0.0   \n",
       "23570           0.0         0.0         0.0         0.0         0.0   \n",
       "\n",
       "         1998-04-01  1998-05-01  1998-06-01  \n",
       "user_id                                      \n",
       "1               0.0         0.0         0.0  \n",
       "2               0.0         0.0         0.0  \n",
       "3               0.0         1.0         0.0  \n",
       "4               0.0         0.0         0.0  \n",
       "5               0.0         0.0         0.0  \n",
       "...             ...         ...         ...  \n",
       "23566           0.0         0.0         0.0  \n",
       "23567           0.0         0.0         0.0  \n",
       "23568           0.0         0.0         0.0  \n",
       "23569           0.0         0.0         0.0  \n",
       "23570           0.0         0.0         0.0  \n",
       "\n",
       "[23570 rows x 18 columns]"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 数据透视表展示用户在不同时间的购买情况，并用0填充空值\n",
    "pivot_counts = df.pivot_table(index='user_id',\n",
    "               # 改变日期的类型，按月\n",
    "              columns=df['order_dt'].values.astype('datetime64[M]'),\n",
    "              values='order_dt',\n",
    "              aggfunc='count').fillna(0)\n",
    "pivot_counts"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [],
   "source": [
    "#传入的是每一条数据,用于对每条数据进行分类，活跃状态\n",
    "def active_status(x):\n",
    "    status = []\n",
    "    # 对每一条数据的每一列进行遍历判断\n",
    "    for i in range(18):\n",
    "        # 如果本月未消费\n",
    "        if x[i] == 0:\n",
    "            if len(status)>0:  #如果在之前已经添加过状态标签的话\n",
    "                if status[i-1] == '未注册':\n",
    "                    status.append('未注册')\n",
    "                else:\n",
    "                    status.append('不活跃')\n",
    "            else:\n",
    "                status.append('未注册')\n",
    "                \n",
    "        # 如果本月消费了\n",
    "        else:\n",
    "            if len(status) == 0:\n",
    "                status.append('新用户')\n",
    "            elif status[i-1] == '不活跃':\n",
    "                status.append('回归')\n",
    "            elif status[i-1] == '未注册':\n",
    "                status.append('新用户')\n",
    "            else:\n",
    "                status.append('活跃')\n",
    "    return pd.Series(status,index=pivot_counts.columns)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "若本月未消费\n",
    "- 之前未注册，那么也为未注册\n",
    "- 如果之前注册了的，那么定义为不活跃\n",
    "若本月消费了\n",
    "- 之前未注册，那么定义为新用户\n",
    "- 之前注册过\n",
    "  - 上个月为不活跃，那么为定义为回归\n",
    "  - 上个月为新用户或者活跃状态，那么定义为活跃"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [],
   "source": [
    "buy_status = pivot_counts.apply(active_status, axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>1997-01-01</th>\n",
       "      <th>1997-02-01</th>\n",
       "      <th>1997-03-01</th>\n",
       "      <th>1997-04-01</th>\n",
       "      <th>1997-05-01</th>\n",
       "      <th>1997-06-01</th>\n",
       "      <th>1997-07-01</th>\n",
       "      <th>1997-08-01</th>\n",
       "      <th>1997-09-01</th>\n",
       "      <th>1997-10-01</th>\n",
       "      <th>1997-11-01</th>\n",
       "      <th>1997-12-01</th>\n",
       "      <th>1998-01-01</th>\n",
       "      <th>1998-02-01</th>\n",
       "      <th>1998-03-01</th>\n",
       "      <th>1998-04-01</th>\n",
       "      <th>1998-05-01</th>\n",
       "      <th>1998-06-01</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>user_id</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>新用户</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>新用户</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>新用户</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>回归</td>\n",
       "      <td>活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>回归</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>回归</td>\n",
       "      <td>不活跃</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>新用户</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>回归</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>回归</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>新用户</td>\n",
       "      <td>活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>回归</td>\n",
       "      <td>活跃</td>\n",
       "      <td>活跃</td>\n",
       "      <td>活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>回归</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>回归</td>\n",
       "      <td>活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23566</th>\n",
       "      <td>未注册</td>\n",
       "      <td>未注册</td>\n",
       "      <td>新用户</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23567</th>\n",
       "      <td>未注册</td>\n",
       "      <td>未注册</td>\n",
       "      <td>新用户</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23568</th>\n",
       "      <td>未注册</td>\n",
       "      <td>未注册</td>\n",
       "      <td>新用户</td>\n",
       "      <td>活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23569</th>\n",
       "      <td>未注册</td>\n",
       "      <td>未注册</td>\n",
       "      <td>新用户</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23570</th>\n",
       "      <td>未注册</td>\n",
       "      <td>未注册</td>\n",
       "      <td>新用户</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "      <td>不活跃</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>23570 rows × 18 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "        1997-01-01 1997-02-01 1997-03-01 1997-04-01 1997-05-01 1997-06-01  \\\n",
       "user_id                                                                     \n",
       "1              新用户        不活跃        不活跃        不活跃        不活跃        不活跃   \n",
       "2              新用户        不活跃        不活跃        不活跃        不活跃        不活跃   \n",
       "3              新用户        不活跃         回归         活跃        不活跃        不活跃   \n",
       "4              新用户        不活跃        不活跃        不活跃        不活跃        不活跃   \n",
       "5              新用户         活跃        不活跃         回归         活跃         活跃   \n",
       "...            ...        ...        ...        ...        ...        ...   \n",
       "23566          未注册        未注册        新用户        不活跃        不活跃        不活跃   \n",
       "23567          未注册        未注册        新用户        不活跃        不活跃        不活跃   \n",
       "23568          未注册        未注册        新用户         活跃        不活跃        不活跃   \n",
       "23569          未注册        未注册        新用户        不活跃        不活跃        不活跃   \n",
       "23570          未注册        未注册        新用户        不活跃        不活跃        不活跃   \n",
       "\n",
       "        1997-07-01 1997-08-01 1997-09-01 1997-10-01 1997-11-01 1997-12-01  \\\n",
       "user_id                                                                     \n",
       "1              不活跃        不活跃        不活跃        不活跃        不活跃        不活跃   \n",
       "2              不活跃        不活跃        不活跃        不活跃        不活跃        不活跃   \n",
       "3              不活跃        不活跃        不活跃        不活跃         回归        不活跃   \n",
       "4              不活跃         回归        不活跃        不活跃        不活跃         回归   \n",
       "5               活跃        不活跃         回归        不活跃        不活跃         回归   \n",
       "...            ...        ...        ...        ...        ...        ...   \n",
       "23566          不活跃        不活跃        不活跃        不活跃        不活跃        不活跃   \n",
       "23567          不活跃        不活跃        不活跃        不活跃        不活跃        不活跃   \n",
       "23568          不活跃        不活跃        不活跃        不活跃        不活跃        不活跃   \n",
       "23569          不活跃        不活跃        不活跃        不活跃        不活跃        不活跃   \n",
       "23570          不活跃        不活跃        不活跃        不活跃        不活跃        不活跃   \n",
       "\n",
       "        1998-01-01 1998-02-01 1998-03-01 1998-04-01 1998-05-01 1998-06-01  \n",
       "user_id                                                                    \n",
       "1              不活跃        不活跃        不活跃        不活跃        不活跃        不活跃  \n",
       "2              不活跃        不活跃        不活跃        不活跃        不活跃        不活跃  \n",
       "3              不活跃        不活跃        不活跃        不活跃         回归        不活跃  \n",
       "4              不活跃        不活跃        不活跃        不活跃        不活跃        不活跃  \n",
       "5               活跃        不活跃        不活跃        不活跃        不活跃        不活跃  \n",
       "...            ...        ...        ...        ...        ...        ...  \n",
       "23566          不活跃        不活跃        不活跃        不活跃        不活跃        不活跃  \n",
       "23567          不活跃        不活跃        不活跃        不活跃        不活跃        不活跃  \n",
       "23568          不活跃        不活跃        不活跃        不活跃        不活跃        不活跃  \n",
       "23569          不活跃        不活跃        不活跃        不活跃        不活跃        不活跃  \n",
       "23570          不活跃        不活跃        不活跃        不活跃        不活跃        不活跃  \n",
       "\n",
       "[23570 rows x 18 columns]"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "buy_status"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>1997-01-01</th>\n",
       "      <th>1997-02-01</th>\n",
       "      <th>1997-03-01</th>\n",
       "      <th>1997-04-01</th>\n",
       "      <th>1997-05-01</th>\n",
       "      <th>1997-06-01</th>\n",
       "      <th>1997-07-01</th>\n",
       "      <th>1997-08-01</th>\n",
       "      <th>1997-09-01</th>\n",
       "      <th>1997-10-01</th>\n",
       "      <th>1997-11-01</th>\n",
       "      <th>1997-12-01</th>\n",
       "      <th>1998-01-01</th>\n",
       "      <th>1998-02-01</th>\n",
       "      <th>1998-03-01</th>\n",
       "      <th>1998-04-01</th>\n",
       "      <th>1998-05-01</th>\n",
       "      <th>1998-06-01</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>不活跃</th>\n",
       "      <td>NaN</td>\n",
       "      <td>6689.0</td>\n",
       "      <td>14046</td>\n",
       "      <td>20748.0</td>\n",
       "      <td>21356.0</td>\n",
       "      <td>21231.0</td>\n",
       "      <td>21390.0</td>\n",
       "      <td>21798.0</td>\n",
       "      <td>21831.0</td>\n",
       "      <td>21731.0</td>\n",
       "      <td>21542.0</td>\n",
       "      <td>21706.0</td>\n",
       "      <td>22033.0</td>\n",
       "      <td>22019.0</td>\n",
       "      <td>21510.0</td>\n",
       "      <td>22133.0</td>\n",
       "      <td>22082.0</td>\n",
       "      <td>22064.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>回归</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>595</td>\n",
       "      <td>1049.0</td>\n",
       "      <td>1362.0</td>\n",
       "      <td>1592.0</td>\n",
       "      <td>1434.0</td>\n",
       "      <td>1168.0</td>\n",
       "      <td>1211.0</td>\n",
       "      <td>1307.0</td>\n",
       "      <td>1404.0</td>\n",
       "      <td>1232.0</td>\n",
       "      <td>1025.0</td>\n",
       "      <td>1079.0</td>\n",
       "      <td>1489.0</td>\n",
       "      <td>919.0</td>\n",
       "      <td>1029.0</td>\n",
       "      <td>1060.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>新用户</th>\n",
       "      <td>7846.0</td>\n",
       "      <td>8476.0</td>\n",
       "      <td>7248</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>活跃</th>\n",
       "      <td>NaN</td>\n",
       "      <td>1157.0</td>\n",
       "      <td>1681</td>\n",
       "      <td>1773.0</td>\n",
       "      <td>852.0</td>\n",
       "      <td>747.0</td>\n",
       "      <td>746.0</td>\n",
       "      <td>604.0</td>\n",
       "      <td>528.0</td>\n",
       "      <td>532.0</td>\n",
       "      <td>624.0</td>\n",
       "      <td>632.0</td>\n",
       "      <td>512.0</td>\n",
       "      <td>472.0</td>\n",
       "      <td>571.0</td>\n",
       "      <td>518.0</td>\n",
       "      <td>459.0</td>\n",
       "      <td>446.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     1997-01-01  1997-02-01  1997-03-01  1997-04-01  1997-05-01  1997-06-01  \\\n",
       "不活跃         NaN      6689.0       14046     20748.0     21356.0     21231.0   \n",
       "回归          NaN         NaN         595      1049.0      1362.0      1592.0   \n",
       "新用户      7846.0      8476.0        7248         NaN         NaN         NaN   \n",
       "活跃          NaN      1157.0        1681      1773.0       852.0       747.0   \n",
       "\n",
       "     1997-07-01  1997-08-01  1997-09-01  1997-10-01  1997-11-01  1997-12-01  \\\n",
       "不活跃     21390.0     21798.0     21831.0     21731.0     21542.0     21706.0   \n",
       "回归       1434.0      1168.0      1211.0      1307.0      1404.0      1232.0   \n",
       "新用户         NaN         NaN         NaN         NaN         NaN         NaN   \n",
       "活跃        746.0       604.0       528.0       532.0       624.0       632.0   \n",
       "\n",
       "     1998-01-01  1998-02-01  1998-03-01  1998-04-01  1998-05-01  1998-06-01  \n",
       "不活跃     22033.0     22019.0     21510.0     22133.0     22082.0     22064.0  \n",
       "回归       1025.0      1079.0      1489.0       919.0      1029.0      1060.0  \n",
       "新用户         NaN         NaN         NaN         NaN         NaN         NaN  \n",
       "活跃        512.0       472.0       571.0       518.0       459.0       446.0  "
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 将未注册的转换为np.nan，避免后续处理的时候进行计数\n",
    "buy_status_cts = buy_status.replace('未注册',np.nan).apply(lambda x: pd.value_counts(x))\n",
    "buy_status_cts"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {
    "collapsed": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>不活跃</th>\n",
       "      <th>回归</th>\n",
       "      <th>新用户</th>\n",
       "      <th>活跃</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1997-01-01</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>7846.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1997-02-01</th>\n",
       "      <td>6689.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>8476.0</td>\n",
       "      <td>1157.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1997-03-01</th>\n",
       "      <td>14046.0</td>\n",
       "      <td>595.0</td>\n",
       "      <td>7248.0</td>\n",
       "      <td>1681.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1997-04-01</th>\n",
       "      <td>20748.0</td>\n",
       "      <td>1049.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1773.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1997-05-01</th>\n",
       "      <td>21356.0</td>\n",
       "      <td>1362.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>852.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1997-06-01</th>\n",
       "      <td>21231.0</td>\n",
       "      <td>1592.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>747.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1997-07-01</th>\n",
       "      <td>21390.0</td>\n",
       "      <td>1434.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>746.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1997-08-01</th>\n",
       "      <td>21798.0</td>\n",
       "      <td>1168.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>604.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1997-09-01</th>\n",
       "      <td>21831.0</td>\n",
       "      <td>1211.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>528.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1997-10-01</th>\n",
       "      <td>21731.0</td>\n",
       "      <td>1307.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>532.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1997-11-01</th>\n",
       "      <td>21542.0</td>\n",
       "      <td>1404.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>624.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1997-12-01</th>\n",
       "      <td>21706.0</td>\n",
       "      <td>1232.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>632.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1998-01-01</th>\n",
       "      <td>22033.0</td>\n",
       "      <td>1025.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>512.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1998-02-01</th>\n",
       "      <td>22019.0</td>\n",
       "      <td>1079.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>472.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1998-03-01</th>\n",
       "      <td>21510.0</td>\n",
       "      <td>1489.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>571.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1998-04-01</th>\n",
       "      <td>22133.0</td>\n",
       "      <td>919.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>518.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1998-05-01</th>\n",
       "      <td>22082.0</td>\n",
       "      <td>1029.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>459.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1998-06-01</th>\n",
       "      <td>22064.0</td>\n",
       "      <td>1060.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>446.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                不活跃      回归     新用户      活跃\n",
       "1997-01-01      0.0     0.0  7846.0     0.0\n",
       "1997-02-01   6689.0     0.0  8476.0  1157.0\n",
       "1997-03-01  14046.0   595.0  7248.0  1681.0\n",
       "1997-04-01  20748.0  1049.0     0.0  1773.0\n",
       "1997-05-01  21356.0  1362.0     0.0   852.0\n",
       "1997-06-01  21231.0  1592.0     0.0   747.0\n",
       "1997-07-01  21390.0  1434.0     0.0   746.0\n",
       "1997-08-01  21798.0  1168.0     0.0   604.0\n",
       "1997-09-01  21831.0  1211.0     0.0   528.0\n",
       "1997-10-01  21731.0  1307.0     0.0   532.0\n",
       "1997-11-01  21542.0  1404.0     0.0   624.0\n",
       "1997-12-01  21706.0  1232.0     0.0   632.0\n",
       "1998-01-01  22033.0  1025.0     0.0   512.0\n",
       "1998-02-01  22019.0  1079.0     0.0   472.0\n",
       "1998-03-01  21510.0  1489.0     0.0   571.0\n",
       "1998-04-01  22133.0   919.0     0.0   518.0\n",
       "1998-05-01  22082.0  1029.0     0.0   459.0\n",
       "1998-06-01  22064.0  1060.0     0.0   446.0"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 对dataframe进行转列\n",
    "buy_status_cts.fillna(0).T\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [],
   "source": [
    "plt.rcParams['font.sans-serif'] = ['SimHei'] # 步骤一（替换sans-serif字体）\n",
    "plt.rcParams['axes.unicode_minus'] = False   # 步骤二（解决坐标轴负数的负号显示问题）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:>"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "buy_status_cts.fillna(0).T.plot.area()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {
    "collapsed": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>不活跃</th>\n",
       "      <th>回归</th>\n",
       "      <th>新用户</th>\n",
       "      <th>活跃</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1997-01-01</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1997-02-01</th>\n",
       "      <td>0.409815</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.519299</td>\n",
       "      <td>0.070886</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1997-03-01</th>\n",
       "      <td>0.595927</td>\n",
       "      <td>0.025244</td>\n",
       "      <td>0.307510</td>\n",
       "      <td>0.071319</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1997-04-01</th>\n",
       "      <td>0.880272</td>\n",
       "      <td>0.044506</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.075223</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1997-05-01</th>\n",
       "      <td>0.906067</td>\n",
       "      <td>0.057785</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.036148</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1997-06-01</th>\n",
       "      <td>0.900764</td>\n",
       "      <td>0.067543</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.031693</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1997-07-01</th>\n",
       "      <td>0.907510</td>\n",
       "      <td>0.060840</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.031650</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1997-08-01</th>\n",
       "      <td>0.924820</td>\n",
       "      <td>0.049555</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.025626</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1997-09-01</th>\n",
       "      <td>0.926220</td>\n",
       "      <td>0.051379</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.022401</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1997-10-01</th>\n",
       "      <td>0.921977</td>\n",
       "      <td>0.055452</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.022571</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1997-11-01</th>\n",
       "      <td>0.913958</td>\n",
       "      <td>0.059567</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.026474</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1997-12-01</th>\n",
       "      <td>0.920916</td>\n",
       "      <td>0.052270</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.026814</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1998-01-01</th>\n",
       "      <td>0.934790</td>\n",
       "      <td>0.043487</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.021723</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1998-02-01</th>\n",
       "      <td>0.934196</td>\n",
       "      <td>0.045779</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.020025</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1998-03-01</th>\n",
       "      <td>0.912601</td>\n",
       "      <td>0.063174</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.024226</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1998-04-01</th>\n",
       "      <td>0.939033</td>\n",
       "      <td>0.038990</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.021977</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1998-05-01</th>\n",
       "      <td>0.936869</td>\n",
       "      <td>0.043657</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.019474</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1998-06-01</th>\n",
       "      <td>0.936105</td>\n",
       "      <td>0.044972</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.018922</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                 不活跃        回归       新用户        活跃\n",
       "1997-01-01  0.000000  0.000000  1.000000  0.000000\n",
       "1997-02-01  0.409815  0.000000  0.519299  0.070886\n",
       "1997-03-01  0.595927  0.025244  0.307510  0.071319\n",
       "1997-04-01  0.880272  0.044506  0.000000  0.075223\n",
       "1997-05-01  0.906067  0.057785  0.000000  0.036148\n",
       "1997-06-01  0.900764  0.067543  0.000000  0.031693\n",
       "1997-07-01  0.907510  0.060840  0.000000  0.031650\n",
       "1997-08-01  0.924820  0.049555  0.000000  0.025626\n",
       "1997-09-01  0.926220  0.051379  0.000000  0.022401\n",
       "1997-10-01  0.921977  0.055452  0.000000  0.022571\n",
       "1997-11-01  0.913958  0.059567  0.000000  0.026474\n",
       "1997-12-01  0.920916  0.052270  0.000000  0.026814\n",
       "1998-01-01  0.934790  0.043487  0.000000  0.021723\n",
       "1998-02-01  0.934196  0.045779  0.000000  0.020025\n",
       "1998-03-01  0.912601  0.063174  0.000000  0.024226\n",
       "1998-04-01  0.939033  0.038990  0.000000  0.021977\n",
       "1998-05-01  0.936869  0.043657  0.000000  0.019474\n",
       "1998-06-01  0.936105  0.044972  0.000000  0.018922"
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "buy_status_cts.fillna(0).T.apply(lambda x:x/x.sum(),axis=1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**通过上表可以看出用户的消费状态变化**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0              NaT\n",
       "1       1997-01-01\n",
       "2       1997-01-12\n",
       "3       1997-01-12\n",
       "4       1997-01-02\n",
       "           ...    \n",
       "69654   1997-03-25\n",
       "69655   1997-04-05\n",
       "69656   1997-04-22\n",
       "69657   1997-03-25\n",
       "69658   1997-03-25\n",
       "Name: order_dt, Length: 69659, dtype: datetime64[ns]"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 向下偏移\n",
    "df.order_dt.shift()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "user_id       \n",
       "1        0           NaT\n",
       "2        1           NaT\n",
       "         2        0 days\n",
       "3        3           NaT\n",
       "         4       87 days\n",
       "                   ...  \n",
       "23568    69654   11 days\n",
       "         69655   17 days\n",
       "23569    69656       NaT\n",
       "23570    69657       NaT\n",
       "         69658    1 days\n",
       "Name: order_dt, Length: 69659, dtype: timedelta64[ns]"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "order_diff = grouped_user.apply(lambda x:x.order_dt - x.order_dt.shift())\n",
    "order_diff"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "count                         46089\n",
       "mean     68 days 23:22:13.567662566\n",
       "std      91 days 00:47:33.924168893\n",
       "min                 0 days 00:00:00\n",
       "25%                10 days 00:00:00\n",
       "50%                31 days 00:00:00\n",
       "75%                89 days 00:00:00\n",
       "max               533 days 00:00:00\n",
       "Name: order_dt, dtype: object"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "order_diff.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:ylabel='Frequency'>"
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYwAAAD2CAYAAADF97BZAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAAAbe0lEQVR4nO3df0xV9/3H8Sd4sRdqDSJYhRUqKnYMqVg7xXaxNbe6NG23iesya9JG2yZduyx067K0c1wZWkYM7eavP6SyZj+6scYv7bKl225MHKtWrYBM7G0pFboAmjlBdlXuLdz7/aPxTuGKHy/ew72X1yNpwnlfTs/n7al95ZzPPeeTEAgEAoiIiFxD4ngPQEREYoMCQ0REjCgwRETEiAJDRESMKDBERMSIAkNERIzYxnsAkdTd3R3Wfunp6Zw5c+YGjyb6TIQ+1WN8UI/WyczMvOpnusIQEREjCgwRETGiwBARESMKDBERMaLAEBERIwoMERExosAQEREjCgwRETGiwBARESNx/aR3uE5/Y9mY9p+0++0bNBIRkeihKwwRETGiwBARESMKDBERMaLAEBERIwoMERExosAQEREjEf1a7YULF3j11VcZGhrCbrdTWlrK7t276erqoqioiJKSEgB27doVdk1ERKwR0SuMhoYGHnroITZu3Ehqairvvvsufr+fiooKent76enp4dChQ2HXRETEOhG9wli1alXw5/7+fhoaGnjwwQcBKCgowO12c/LkSYqLi8OqzZo164rjuVwuXC4XAJWVlaSnp4c17tNh7fU/4R7XajabLWbGGi71GB/UY3Sw5Envjz76iPPnz5ORkUFaWhoAycnJnDp1Cq/XG3ZtOIfDgcPhCG6P1/q40bAur4loWUM4ktRjfFCP1hnXNb09Hg979uzhmWeewW634/P5ABgYGMDv94+pJiIi1oloYAwODvLKK6+wdu1aMjIyyM3Nxe12A9DZ2cmMGTPGVBMREetENDD27dvHJ598wt69e3E6nQQCARoaGnj99dc5ePAgixYt4u677w67JiIi1kkIBAIBKw/o8XhoaWkhPz+f1NTUMddG093dHdYYh556JKz9LomVt9VGyz3TSFKP8UE9Wme0OQzLX28+ZcoUli1bdsNqIiJiDT3pLSIiRhQYIiJiRIEhIiJGFBgiImJEgSEiIkYUGCIiYkSBISIiRhQYIiJi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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 去除掉运算的单位\n",
    "(order_diff / np.timedelta64(1,'D')).plot.hist(bins=20)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- 订单周期成指数分布\n",
    "- 用户的平均购买周期是68天\n",
    "- 绝大部分用户的购买者周期都低于100天"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {
    "collapsed": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "user_id\n",
       "1         0 days\n",
       "2         0 days\n",
       "3       511 days\n",
       "4       345 days\n",
       "5       367 days\n",
       "          ...   \n",
       "23566     0 days\n",
       "23567     0 days\n",
       "23568    28 days\n",
       "23569     0 days\n",
       "23570     1 days\n",
       "Length: 23570, dtype: timedelta64[ns]"
      ]
     },
     "execution_count": 49,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 用户生命周期\n",
    "user_life = grouped_user.order_dt.agg(['min','max'])\n",
    "user_life = user_life['max']-user_life['min']\n",
    "user_life"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "count                          23570\n",
       "mean     134 days 20:55:36.987696224\n",
       "std      180 days 13:46:43.039788104\n",
       "min                  0 days 00:00:00\n",
       "25%                  0 days 00:00:00\n",
       "50%                  0 days 00:00:00\n",
       "75%                294 days 00:00:00\n",
       "max                544 days 00:00:00\n",
       "dtype: object"
      ]
     },
     "execution_count": 50,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "user_life.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:>"
      ]
     },
     "execution_count": 51,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "(user_life / np.timedelta64(1,'D')).hist(bins=40)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 4.复购率的分析\n",
    "- 复购率\n",
    " - 自然月内，购买多次的用户占比"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>1997-01-01</th>\n",
       "      <th>1997-02-01</th>\n",
       "      <th>1997-03-01</th>\n",
       "      <th>1997-04-01</th>\n",
       "      <th>1997-05-01</th>\n",
       "      <th>1997-06-01</th>\n",
       "      <th>1997-07-01</th>\n",
       "      <th>1997-08-01</th>\n",
       "      <th>1997-09-01</th>\n",
       "      <th>1997-10-01</th>\n",
       "      <th>1997-11-01</th>\n",
       "      <th>1997-12-01</th>\n",
       "      <th>1998-01-01</th>\n",
       "      <th>1998-02-01</th>\n",
       "      <th>1998-03-01</th>\n",
       "      <th>1998-04-01</th>\n",
       "      <th>1998-05-01</th>\n",
       "      <th>1998-06-01</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>user_id</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         1997-01-01  1997-02-01  1997-03-01  1997-04-01  1997-05-01  \\\n",
       "user_id                                                               \n",
       "1               0.0         NaN         NaN         NaN         NaN   \n",
       "2               1.0         NaN         NaN         NaN         NaN   \n",
       "3               0.0         NaN         0.0         0.0         NaN   \n",
       "4               1.0         NaN         NaN         NaN         NaN   \n",
       "5               1.0         0.0         NaN         0.0         0.0   \n",
       "\n",
       "         1997-06-01  1997-07-01  1997-08-01  1997-09-01  1997-10-01  \\\n",
       "user_id                                                               \n",
       "1               NaN         NaN         NaN         NaN         NaN   \n",
       "2               NaN         NaN         NaN         NaN         NaN   \n",
       "3               NaN         NaN         NaN         NaN         NaN   \n",
       "4               NaN         NaN         0.0         NaN         NaN   \n",
       "5               0.0         0.0         NaN         0.0         NaN   \n",
       "\n",
       "         1997-11-01  1997-12-01  1998-01-01  1998-02-01  1998-03-01  \\\n",
       "user_id                                                               \n",
       "1               NaN         NaN         NaN         NaN         NaN   \n",
       "2               NaN         NaN         NaN         NaN         NaN   \n",
       "3               1.0         NaN         NaN         NaN         NaN   \n",
       "4               NaN         0.0         NaN         NaN         NaN   \n",
       "5               NaN         1.0         0.0         NaN         NaN   \n",
       "\n",
       "         1998-04-01  1998-05-01  1998-06-01  \n",
       "user_id                                      \n",
       "1               NaN         NaN         NaN  \n",
       "2               NaN         NaN         NaN  \n",
       "3               NaN         0.0         NaN  \n",
       "4               NaN         NaN         NaN  \n",
       "5               NaN         NaN         NaN  "
      ]
     },
     "execution_count": 52,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 一个月内购买次数超过1一次的才有复购的说法，每购买过的不计算\n",
    "buy_again = pivot_counts.applymap(lambda x: 1 if x > 1 else np.nan if x == 0 else 0)\n",
    "buy_again.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:>"
      ]
     },
     "execution_count": 53,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x360 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "(buy_again.sum() / buy_again.count()).plot(figsize=(10,5))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**复购率稳定在20%左右，前三个月因为有大量的新用户涌入，而这批用户大多只购买了一次，因此复购率比较低**"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
